四时宝库

程序员的知识宝库

h5混合开发app,播放本地音乐(h5混合开发app,播放本地音乐)

<template>
	<view>
				<view @click="go();">开始</view>
				<view @click="so();">结束</view>
	</view>
</template>

<script>
	var p = null; 
	export default {
		data() {
			return {
			}
		},
		onLoad() {
				// #ifdef APP-PLUS
				// 监听设备网络状态变化事件
				plus.globalEvent.addEventListener('netchange', function(){});
				// #endif
		},
		methods: {
			go(){ 
				if ( plus.audio == undefined ) {
					
						console.log( "Device not ready!" );
					}
					
					p = plus.audio.createPlayer( "_Doc/Audio/test.mp3" );
					
					p.play( function () {
						console.log( "Audio play success!" ); 
					}, function ( e ) {
						console.log( "Audio play error: " + e.message ); 
					} ); 
				    
			},
			so(){
				p.stop();
			}
		}
	}
</script>

这是用uniapp写的例子,也可以直接写在h5页面。

HBuilder X用于开发uniapp项目,也可以用HBuilder写h5+项目。

个人推荐前者,比较完善,还有较多封装的api。



uni-app App 端内置 HTML5+ 引擎,让 js 可以直接调用丰富的原生能力。

条件编译调用 HTML5+

小程序及 H5 等平台是没有 HTML5+ 扩展规范的,因此在 uni-app 调用 HTML5+ 的扩展规范时,需要注意使用条件编译。否则运行到h5、小程序等平台会出现 plus is not defined错误。

// #ifdef APP-PLUS
var appid = plus.runtime.appid;
console.log('应用的 appid 为:' + appid);
// #endif

uni-app不需要plus ready

在html中使用plus的api,需要等待plus ready。 而uni-app不需要等,可以直接使用。而且如果你调用plus ready,反而不会触发。

uni-app中的事件监听

在普通的 H5+ 项目中,需要使用 document.addEventListener 监听原生扩展的事件。

uni-app 中,没有 document。可以使用 plus.globalEvent.addEventListener 来实现。

// #ifdef APP-PLUS
// 监听设备网络状态变化事件
plus.globalEvent.addEventListener('netchange', function(){});
// #endif

同理,在 uni-app 中使用 Native.js 时,一些 Native.js 中对于原生事件的监听同样需要按照上面的方法去实现。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接