UIMediaControl

概述

应用中悬浮的媒体控制控件,可进行上一首、下一首、播放、暂停等控制。

接口

openView

打开媒体控制控件

openView({params}, callback(ret, err))

params

rect:

  • 类型:JSON对象类型
  • 描述:预览控件位置
  • 内部字段:
{
    x:,         //数字类型;控件左上角x坐标,默认值0
    y:,        //数字类型;控件左上角y坐标,默认值0
    w:,        //数字类型;控件宽度,100
    h:,        //数字类型;控件高度,100

}

bgClolor:

  • 类型:字符串类型
  • 描述:视图的背景颜色 ;(仅支持iOS)
  • 默认:'#000000'

leftBtnRect:

  • 类型:JSON对象类型
  • 描述:上一曲按钮的位置和大小 ;(仅支持iOS)
  • 内部字段:
{
    x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
    y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
    w:,        //数字类型;控件宽度,40
    h:,        //数字类型;控件高度,40

}

rightBtnRect:

  • 类型:JSON对象类型
  • 描述:下一曲按钮的位置和大小 ;(仅支持iOS)
  • 内部字段:
{
    x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
    y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
    w:,        //数字类型;控件宽度,40
    h:,        //数字类型;控件高度,40

}

playBtnRect:

  • 类型:JSON对象类型
  • 描述:播放按钮的位置和大小 ;(仅支持iOS)
  • 内部字段:
{
    x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
    y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
    w:,        //数字类型;控件宽度,40
    h:,        //数字类型;控件高度,40

}

playBtnStatus:

  • 类型:布尔类型
  • 描述:播放按钮的状态播放还是暂停 ;(仅支持iOS)
  • 默认:true (播放)

closeBtnRect:

  • 类型:JSON对象类型
  • 描述:关闭按钮的位置和大小 ;(仅支持iOS)
  • 内部字段:
{
    x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
    y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
    w:,        //数字类型;控件宽度,20
    h:,        //数字类型;控件高度,20

}

leftBtnImagePath:

  • 类型:字符串类型
  • 描述:上一曲按钮的背景图片路径;支持widget://和fs:// ;(仅支持iOS)

rightBtnImagePath:

  • 类型:字符串类型
  • 描述:下一曲按钮的背景图片路径;支持widget://和fs:// ;(仅支持iOS)

playBtnImagePath:

  • 类型:字符串类型
  • 描述:播放按钮(播放状态)的背景图片路径;支持widget://和fs:// ;(仅支持iOS)

pauseBtnImagePath:

  • 类型:字符串类型
  • 描述:播放按钮(暂停状态)的背景图片路径;支持widget://和fs:// ;(仅支持iOS)

closeBtnImagePath:

  • 类型:字符串类型
  • 描述:关闭的背景图片路径;支持widget://和fs:// ;(仅支持iOS)

slider:

  • 类型:JSON对象类型
  • 描述:滑块参数设置 ;(仅支持iOS)
  • 内部字段:
{
  sliderRect:{
          x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
          y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
          w:,        //数字类型;控件宽度,100
          h:,        //数字类型;控件高度,4
   },
   handlerRect:{     //滑块按钮大小,sliderImagePath不传设置无效
          w:,        //数字类型;控件宽度,10
          h:        //数字类型;控件高度,10
   },         
   sliderImagePath:'',  //滑块图片路径;支持widget://和fs://
   sliderLeftColor:'',  //滑块左边部分滑动条颜色 ;默认:'#000000'
   sliderRightColor:'',  //滑块右边部分滑动条颜色 ;默认:'#000000'
}

leftTimeLab:

  • 类型:JSON对象类型
  • 描述:左边时间 ;(仅支持iOS)
  • 内部字段:
{
  leftTimeRect:
            {
              x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
             y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
             w:,        //数字类型;控件宽度,100
             h:,        //数字类型;控件高度,40
            },
   font:'',  //字体大小;默认10
   leftTimeColor:'',  //字体颜色 ;默认:'#FFFFFF'
}

rightTimeLab:

  • 类型:JSON对象类型
  • 描述:右边时间 ;(仅支持iOS)
  • 内部字段:
{
  rightTimeRect:
            {
              x:,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
             y:,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
             w:,        //数字类型;控件宽度,100
             h:,        //数字类型;控件高度,40
            },
   font:'',  //字体大小;默认:10
   rightTimeColor:'',  //字体颜色 ;默认:'#FFFFFF'
}

currentProgress:

  • 类型:数字类型
  • 描述:(可选项)当前进度(秒)
  • 默认值:0

total:

  • 类型:数字类型
  • 描述:总时长(秒)

isDrag:

  • 类型:布尔类型
  • 描述:是否可以拖拽 ;(仅支持iOS)
  • 默认值:false

bubleSize:

  • 类型:数字类型
  • 描述:(可选项)滑块大小(仅android支持)
  • 默认值:14

callback(ret,err)

ret:

  • 类型:JSON对象类型
  • 描述:正常回调
  • 内部字段
    {
    status:,        //布尔类型,是否正常返回
    eventType:'', //字符串类型;返回事件
          ‘show’:   添加显示成功
          ‘close’:   点击关闭按钮
          ‘play’:     点击播放按钮
          ‘pause’:  点击暂停按钮
          ‘next’:     点击下一个
          ‘bofor’   点击上一个
    }
    

err:

  • 类型:JSON对象类型
  • 描述:错误回调
  • 内部字段
    {
    msg:'',        //字符串类型;错误信息
    }
    

示例代码

 var UIMediaControl = api.require('UIMediaControl');
            UIMediaControl.openView({
                rect: {
                    x: 10,
                    y: 130,
                    w: 300,
                    h: 100
                },
                bgClolor: '#666',
                leftBtnImagePath: "widget://image/pre.png",
                rightBtnImagePath: "widget://image/nex.png",
                playBtnImagePath: "widget://image/play.png",
                pauseBtnImagePath: "widget://image/pause.png",
                closeBtnImagePath: "widget://image/huakuai.png",
                playBtnRect: {
                    x: 130,
                    y: 10,
                    w: 40,
                    h: 40
                },
                playBtnStatus: true,
                closeBtnRect: {
                    x: 270,
                    y: 70,
                    w: 20,
                    h: 20
                },
                leftBtnRect: {
                    x: 30,
                    y: 15,
                    w: 40,
                    h: 40
                },
                rightBtnRect: {
                    x: 230,
                    y: 15,
                    w: 40,
                    h: 40
                },

                slider: {
                    sliderRect:
                    {
                        x: 70,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
                        y: 50,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
                        w: 160,        //数字类型;控件宽度,100
                        h: 30,        //数字类型;控件高度,4
                    },
                    sliderImagePath: 'widget://image/huakuai20.png',  //滑块图片路径;支持widget://和fs://
                    sliderLeftColor: '#ff0',  //滑块左边部分滑动条颜色 ;默认:'#000000'
                    sliderRightColor: '#fff',  //滑块右边部分滑动条颜色 ;默认:'#000000'
                },
                leftTimeLab: {
                    leftTimeRect:
                    {
                        x: 20,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
                        y: 45,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
                        w: 80,        //数字类型;控件宽度,100
                        h: 40,        //数字类型;控件高度,40
                    },
                    font: '12',  //字体大小;默认10
                    leftTimeColor: '#ff0',  //字体颜色 ;默认:'#FFFFFF'
                },
                rightTimeLab: {
                    rightTimeRect:
                    {
                        x: 190,         //数字类型;控件左上角x坐标(相对于打开的视图),默认值0
                        y: 45,        //数字类型;控件左上角y坐标(相对于打开的视图),默认值0
                        w: 80,        //数字类型;控件宽度,100
                        h: 40,        //数字类型;控件高度,40
                    },
                    font: '12',  //字体大小;默认:10
                    rightTimeColor: '#ff0',  //字体颜色 ;默认:'#FFFFFF'
                },
                total: 1000,
                currentProgress: 100,

            }, function (ret, err) {
                console.log(JSON.stringify(ret));

            });

可用性

Android、iOS系统

可提供的1.0.0及更高版本

closeView

关闭媒体控制控件

closeView({params}, callback(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象类型
  • 描述:正常回调
  • 内部字段
    {
    status:,        //布尔类型,是否成功
    }
    

err:

  • 类型:JSON对象类型
  • 描述:错误回调
  • 内部字段
    {
    msg:'',        //字符串类型;错误信息
    }
    

示例代码

var UIMediaControl= api.require('UIMediaControl');
UIMediaControl.closeView({
},function(ret, err) {
});

可用性

Android、iOS系统

可提供的1.0.0及更高版本

changePlayState

更换播放状态

changePlayState({params}, callback(ret, err))

params

state:

  • 类型:字符串类型
  • 描述:要切换为的状态
  • 内部字段:
          ‘play’:播放状态,显示暂停按钮
          ‘pause’:暂停状态,显示播放按钮
    
  • 默认值:‘play’

示例代码

var UIMediaControl= api.require('UIMediaControl');
UIMediaControl.changePlayState({
},function(ret, err) {
});

可用性

Android、iOS系统

可提供的1.0.0及更高版本

updateProgress

更换播放进度

updateProgress({params}, callback(ret, err))

params

currentProgress:

  • 类型:数字类型
  • 描述:(可选项)当前进度(秒)
  • 默认值:0

total:

  • 类型:数字类型
  • 描述:(可选项)总时长(秒)

示例代码

var UIMediaControl= api.require('UIMediaControl');
UIMediaControl.updateProgress({
},function(ret, err) {
});

可用性

Android、iOS系统

可提供的1.0.0及更高版本

updateProgressListening

是否监听滑块进度

updateProgressListening({params}, callback(ret))

params

isListening:

  • 类型:布尔类型
  • 描述:是否监听滑块进度
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON对象类型
  • 描述:正常回调
  • 内部字段
    {
       movingValue:,        //移动中的进度值;百分比
       endValue:,           //移动结束的进度值;百分比
    }
    

示例代码

var UIMediaControl= api.require('UIMediaControl');
UIMediaControl.updateProgressListening({
},function(ret) {
});

可用性

Android、iOS系统

可提供的1.0.0及更高版本