0
点赞
收藏
分享

微信扫一扫

Cordova官方插件 -- Vibration、Media、NativeAudio


cordova-plugin-vibration

  1. 安装(通过命令行)
    cordova plugin add cordova-plugin-vibration
  2. 使用
    navigator.vibrate(time) or navigator.vibrate([time])
    [例:navigator.vibrate(3000);]
  3. 注意
  • IOS无法控制震动时长(系统固定) && Windows和Blackberry时长范围(5000ms 至 8000ms).
  • Android和Windows可设定震动模式
    navigator.vibrate(pattern);
    [例:navigator.vibrate([1000, 1000, 3000, 1000, 5000]);]
  1. 取消
    navigator.vibrate(0); or navigator.vibrate([]); or navigator.vibrate([0]);

cordova-plugin-media(可后台播放)

  1. 安装
    cordova plugin add cordova-plugin-media
  2. 使用
  1. 初始化Media

var media;
media = new Media("/android_asset/www/media/example.mp3",
function() {
alert("Media Init Success");
},
function(err) {
alert("Error: " + err);
}
);

  1. play():media.play();
  2. pause():media.pause();
  3. stop():media.stop();
  4. release()[当Media资源不需要用时应该释放]:media.release();
  5. setVolume()[范围(0.0 - 1.0)]:media.setVolume(volume);
  6. seekTo()[手动设置播放位置]:media.seekTo(milliseconds);
  7. getDuration():返回Media时长(s),异常返回-1

var length= media.getDuration();
if (duration > -1) {
alert("length== " + length);
};

  1. getCurrentPosition()

media.getCurrentPosition(
function(position) {
if (position > -1) {
alert("position");
}
},
function(err) {
alert(err);
}
);

  1. startRecord() & stopRecord()

// 创建文件对象
var recordMedia = new Media(
"storage/emulated/0/record.mp3",
function() {
alert("Success");
},
function(e) {
alert("Error" + e);
}
);

// 开始录音
recordMedia.startRecord();

// 停止录音
recordMedia.stopRecord();

cordova-plugin-nativeaudio(针对HTML5游戏和音频应用所需的最小延迟,复调和并发)

  1. 安装
    cordova plugin add cordova-plugin-nativeaudio
  2. 使用
  1. preloadSimple():优化短视频/单镜头(最多五秒). 不能停止/循环.
  2. preloadComplex():可以停止/循环和用于多个声音. 可以在使用延迟参数的时间和使用.
  3. play: function (id, successCallback, errorCallback, completeCallback)`
  4. loop: function (id, successCallback, errorCallback)
  5. stop: function (id, successCallback, errorCallback)
  6. unload: function (id, successCallback, errorCallback)
  7. setVolumeForComplexAsset: function (id, volume, successCallback, errorCallback)
  1. 使用案例

if( window.plugins && window.plugins.NativeAudio ) {

// Preload audio resources
window.plugins.NativeAudio.preloadComplex( 'music', 'audio/music.mp3', 1, 1, 0, function(msg){
}, function(msg){
console.log( 'error: ' + msg );
});

window.plugins.NativeAudio.preloadSimple( 'click', 'audio/click.mp3', function(msg){
}, function(msg){
console.log( 'error: ' + msg );
});

// Play
window.plugins.NativeAudio.play( 'click' );
window.plugins.NativeAudio.loop( 'music' );

// Stop multichannel clip after 60 seconds
window.setTimeout( function(){

window.plugins.NativeAudio.stop( 'music' );

window.plugins.NativeAudio.unload( 'music' );
window.plugins.NativeAudio.unload( 'click' );

}, 1000 * 60 );
}


举报

相关推荐

0 条评论