您的位置:首页 > 其它

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

2016-04-01 10:07 435 查看
cordova-plugin-vibration

安装

cordova plugin add cordova-plugin-vibration


使用

navigator.vibrate(time)
or
navigator.vibrate([time])


[例:
navigator.vibrate(3000);
]

注意

IOS无法控制震动时长(系统固定) && Windows和Blackberry时长范围(5000ms - 8000ms).

Android和Windows可设定震动模式

navigator.vibrate(pattern);


[例:
navigator.vibrate([1000, 1000, 3000, 1000, 5000]);
]

取消

navigator.vibrate(0);
or
navigator.vibrate([]);
or
navigator.vibrate([0]);


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

安装

cordova plugin add cordova-plugin-media


使用

初始化Media

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


play()

media.play();


pause()

media.pause();


stop()

media.stop();


release():当Media资源不需要用时应该释放

media.release();


setVolume():范围(0.0 - 1.0)

media.setVolume(volume);


seekTo():手动设置播放位置

media.seekTo(milliseconds);


getDuration():返回Media时长(s),异常返回-1

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


getCurrentPosition()

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


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游戏和音频应用所需的最小延迟,复调和并发)

安装

cordova plugin add cordova-plugin-nativeaudio


使用

preloadSimple()
:优化短视频/单镜头(最多五秒). 不能停止/循环.

preloadComplex()
:可以停止/循环和用于多个声音. 可以在使用延迟参数的时间和使用.

play: function (id, successCallback, errorCallback, completeCallback)


loop: function (id, successCallback, errorCallback)


stop: function (id, successCallback, errorCallback)


unload: function (id, successCallback, errorCallback)


setVolumeForComplexAsset: function (id, volume, successCallback, errorCallback)


使用案例

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 );
}


以上。如有错误和疑问,欢迎指正提出。 catface.wyh@gmail.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: