首页 > 其他分享 >Cordova官方插件 -- Vibration、Media、NativeAudio

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

时间:2023-02-01 12:32:25浏览次数:36  
标签:function 插件 Vibration -- media plugin window plugins cordova


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


标签:function,插件,Vibration,--,media,plugin,window,plugins,cordova
From: https://blog.51cto.com/u_15950249/6031353

相关文章

  • 系统文件的权限
    目录​​Android系统的文件权限​​​​修改文件权限​​Android系统的文件权限先看下图分析:​​drwxrw-r--​​(1-3-3-3总共10位)第1位(文件类型):d(目录),-......
  • Cordova官方插件 -- Icon + SplashScreen
    Cordova快速添加Icon图标和Splash闪屏页​​官方ConfiguringIconsintheCLI文档​​  图标的配置仅需在项目的config.xml文件中添加文件路径即可.​​官方cordova-plug......
  • ListView - 仿照IOS拉到上下底部仍可继续拉并自动回弹
    PART_ONLY自定义类继承​​ListView​​,覆写​​overScrollBy()​​publicclassCListViewextendsListView{privatestaticfinalintMAX_OVERSCROLLY_DISTANCE......
  • Android中Java和JS调用对方方法的简介
    AJava调用Js的方法无参:使用WebView控件​​loadUrl()​​方法,传入​​"javascript:jsMethod()"​​即可调用​​jsMethod()​​方法带参:同上,并将参数加上即可​​"java......
  • 自定义 CircleView - 继承 View 重写 onDraw
    一、画一个圆形的View如图,该圆形控件的宽为match_parent,高150dp,为了看到控件的整体宽高效果,为控件加了背景色即浅绿色:#3300aa00该页面的布局<?xmlversion="1.0"encodi......
  • Spring Native打包本地镜像,无需通过Graal的maven插件buildtools
    简介在文章《GraalVM和SpringNative尝鲜,一步步让Springboot启动飞起来,66ms完成启动》中,我们介绍了如何使用SpringNative和buildtools插件,打包出本地镜像,也打包成Docker......
  • 读Java8函数式编程笔记07_设计和架构的原则
    1. SOLID原则1.1. 开发良好面向对象程序的准则1.2. Liskovsubstitution里氏替换1.3. Interfacesegregation接口隔离1.4. Singleresponsibility单一功能原则1......
  • 并发编程-Python
    目录01、理论多道技术null02、进程进程运行的三状态图同步和异步阻塞和非阻塞开启进程的两种方式进程对象的join方法进程之间数据相互隔离(默认情况下)进程对象及其他方法僵......
  • 开源大数据分析平台的内容有什么?
    在大数据时代,做好数据管理是非常重要的一个步骤。可以给企业做出正确的经营决策,指引新的发展方向。因此,随着数字化时代的到来,很多企业都倾向于寻找适宜的开源大数据分析平......
  • 开源数据湖仓:Delta vs. Iceberg vs. Hudi vs. Kudu vs. Hologres
    深度对比Delta、Iceberg和Hudi三大开源数据湖方案_开源_胡争(子毅)_InfoQ精选文章https://www.infoq.cn/article/fjebconxd2sz9wloykfo替换Kudu,Hologres助力好未来网校实......