利用weex-android
的扩展模块module
做的一个播放背景音乐的小功能
项目需要一个播放背景音乐的功能,网上找了很多都没有一个详细的流程。这里就自己写了一个,仅供参考
首先创建WXEventModule.java
文件,然后在WXApplication.java
中注册该模块
具体的创建可以参考 官方文档
public class WXApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
WXSDKEngine.addCustomOptions("appName", "WXSample");
WXSDKEngine.addCustomOptions("appGroup", "WXApp");
WXSDKEngine.initialize(this,
new InitConfig.Builder().setImgAdapter(new ImageAdapter()).build()
);
try {
//注册扩展模块
WXSDKEngine.registerModule("event", WXEventModule.class);
} catch (WXException e) {
e.printStackTrace();
}
AppConfig.init(this);
WeexPluginContainer.loadAll(this);
}
}
然后在WXEventModule
中增加播放背景音乐的方法
/**
* 播放beijing 音乐
* @param
*/
@JSMethod(uiThread = false)
public void runBGSound(String type)
{
mediaName = type;
//创建一个用于播放背景音乐的线程
thread=new Thread(new Runnable(){
@Override
public void run() {
playBGSound();//播放背景音乐
}
});
thread.start();//开启线程
}
private void playBGSound() {
if(mp!=null){
mp.release();//释放资源
}
Context context = mWXSDKInstance.getContext();
if(mediaName.equals("success"))
{
//R为android的资源目录 res
mp= MediaPlayer.create(context, R.raw.success);
}
else if (mediaName.equals("error"))
{
mp= MediaPlayer.create(context, R.raw.error);
}
mp.start();
}
在vue中使用该模板
引入扩展模块 const eventModule = weex.requireModule('event')
播放背景音乐 eventModule.runBGSound('success')