【问题标题】:Android - Playing mp3 from RandomAccessFile (byte[])Android - 从 RandomAccessFile (byte[]) 播放 mp3
【发布时间】:2012-06-12 18:23:58
【问题描述】:

我的 mp3 在 byte[] 中(从 RandomAccessFile 读取):

RandomAccessFile raf=new RandomAccessFile("sdcard\myfile.mf", "r" );;
byte[] data = new byte[10000];
raf.read(data, 300, 10300);

我想在我的设备上播放它,我该怎么做? 有什么帮助吗? 谢谢!

【问题讨论】:

    标签: android mp3 media-player


    【解决方案1】:

    恕我直言,你不能。但是您可以将 FileDescriptor 传递给播放器,而不是从文件中读取它。这将播放从字节位置 300 开始且长度为 10000 字节的 mp3:

    RandomAccessFile raf=new RandomAccessFile("sdcard\myfile.mf", "r" );
    MediaPlayer player = new MediaPlayer();
    player.setDataSource(raf.getFD(), 300, 10000);
    player.prepare();
    player.start();
    

    我认为您在 read 调用中也有一个错误,因为这将从文件开头读取 10300 个字节并将其放入从 300 开始的数据。含义:在数据中您将有 300 个字节未设置(垃圾) ,然后是文件的前 9700 个字节(其余的不适合缓冲区)

    【讨论】:

      猜你喜欢
      • 2010-12-30
      • 2012-04-18
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多