当前位置:   article > 正文

Android中怎样使用MediaPlayer播放byte数组音频文件_mediaplayer播放byte[]

mediaplayer播放byte[]

场景

在得到某音频文件的byte[]后使用MediaPlayer将其播放出来。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建工具类方法

  1.         try {
  2.             byte[] mp3SoundByteArray = Base64.decode(content, Base64.DEFAULT);// 将字符串转换为byte数组
  3.             // create temp file that will hold byte array
  4.             File tempMp3 = File.createTempFile("badao", ".mp3");
  5.             tempMp3.deleteOnExit();
  6.             FileOutputStream fos = new FileOutputStream(tempMp3);
  7.             fos.write(mp3SoundByteArray);
  8.             fos.close();
  9.             // Tried reusing instance of media player
  10.             // but that resulted in system crashes...
  11.             MediaPlayer mediaPlayer = new MediaPlayer();
  12.             // Tried passing path directly, but kept getting
  13.             // "Prepare failed.: status=0x1"
  14.             // so using file descriptor instead
  15.             FileInputStream fis = new FileInputStream(tempMp3);
  16.             mediaPlayer.setDataSource(fis.getFD());
  17.             mediaPlayer.prepare();
  18.             mediaPlayer.start();
  19.         } catch (IOException ex) {
  20.             String s = ex.toString();
  21.             ex.printStackTrace();
  22.         }

其中content是音频文件编码之后的字符串。

然后将其解编码为字节数据,然后存储到临时文件并进行播放。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/106389
推荐阅读
相关标签
  

闽ICP备14008679号