美文网首页
Android音频播放单个文件,导致播放多个音频

Android音频播放单个文件,导致播放多个音频

作者: android_Joe | 来源:发表于2018-11-05 11:43 被阅读10次

    原因:在提现金额成功时播放一段一秒钟的音频,资源目录下有其余多个音频也一并播放了

    解决方法
    1、初始化MediaPlayer创建完成先调用stop方法
    2、在Activity销毁时调用AssetManager close()方法

     private MediaPlayer playRing() {
            MediaPlayer player = null;
            try {
                player = new MediaPlayer();
                player.stop();
                assetManager = getAssets();
                AssetFileDescriptor fileDescriptor = assetManager.openFd("withdraw_voice.mp3");
                player.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(),
                        fileDescriptor.getLength());
                player.prepare();
                player.start();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return player;
        }
    
     @Override
        protected void onDestroy() {
            super.onDestroy();    
            if (assetManager != null) {
                assetManager.close();
            }
        }
    

    总结:在小米手机上通过getAssets()方法获取到的是当前项目下的所有资源,通过assetManager.openFd("withdraw_voice.mp3"),并未获取到当前指定文件,可能是小米系统bug

    相关文章

      网友评论

          本文标题:Android音频播放单个文件,导致播放多个音频

          本文链接:https://www.haomeiwen.com/subject/qhtsxqtx.html