Android解决SoundPool只播放十几秒就停止播放的问题

阅读: 评论:0

Android解决SoundPool只播放十几秒就停止播放的问题

Android解决SoundPool只播放十几秒就停止播放的问题

问题描述

项目中用SoundPool播放一段背景音乐,音乐时长大概一分钟,但是每次只播放了十几秒就停止了

SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC,0);
int soundID = soundPool.load(context, R.raw.sound, 1);
soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {@Overridepublic void onLoadComplete(SoundPool soundPool, int sampleId, int status) {if (sampleId == soundID) {soundPool.play(soundID, 1, 1, 0, 0, 1);}}
});

解决方法

SoundPool本来设计就是用来播放短暂音频的,网上有人说可以降低原来音频的抽样率来减少音频的大小,但我还是不推荐,可能不是那么长的音频还可以用该方法,如果像我用的超过一分钟的甚至更长的音频肯定不行。所以还是果断弃坑,推荐用MediaPlayer代替,如下代码所示

MediaPlayer mediaPlayer = ate(this, R.raw.sound);
mediaPlayer.start();

 

本文发布于:2024-02-05 08:40:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170728226864976.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:十几   Android   SoundPool
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23