plus 解决uni-app播放多音频背景音乐
播放音频文件
let audioPlayer = null;
// #ifdef APP-PLUS
// 背景音乐文件
let path = plus.io.convertLocalFileSystemURL("_www/static/audio/background_music.mp3");
if (plus.os.name == 'Android') {
let MediaPlayer = plus.android.importClass("android.media.MediaPlayer");
audioPlayer = new MediaPlayer()
audioPlayer.setDataSource(path); //指定音频文件路径
audioPlayer.setLooping(true); //设置为循环播放
audioPlayer.prepare(); //初始化播放器MediaPlayer
audioPlayer.start();
// 获取音乐的总时长
console.log(audioPlayer.getDuration());
}
if (plus.os.name == "iOS") {
let NSData = plus.ios.importClass("NSData");
let AVAudioPlayer = plus.ios.importClass("AVAudioPlayer");
let pathFileData = NSData.dataWithContentsOfFile(path);
audioPlayer = new AVAudioPlayer();
audioPlayer.initWithDataerror(pathFileData, null);
audioPlayer.setNumberOfLoops(-1); //-1:无限循环
audioPlayer.prepareToPlay(); //初始化播放器
audioPlayer.play();
// 获取音乐的总时长
console.log(audioPlayer.duration());
}
// #endif
调节系统媒体音量
let AudioManager = null;
let audioManager = null;
/// 获取系统音量控制
// #ifdef APP-PLUS
if (plus.os.name == 'Android') {
let context = plus.android.importClass("android.content.Context");
let main = plus.android.runtimeMainActivity();
AudioManager = plus.android.importClass("android.media.AudioManager");
audioManager = main.getSystemService(context.AUDIO_SERVICE);
// 调节是否显示调节ui
// audioManager.adjustStreamVolume (AudioManager.STREAM_MUSIC , AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI)
// 音量最大范围
let max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 当前音量值
let current = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
console.log(max, current);
}
if (plus.os.name == "iOS") {
// 暂无查找
}
// #endif
// 设置音量值
// #ifdef APP-PLUS
if (plus.os.name == 'Android') {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 89, 0); // 89为音量值
}
if (plus.os.name == "iOS") {
// 暂无查找
}
// #endif
7 个评论
要回复文章请先登录或注册
1***@qq.com
1***@qq.com
T泰达T
hnrtwh
1***@qq.com
树下的老大爷
8***@qq.com