私はbyte[]にmp3を持っています(RandomAccessFileから読み取ります):
RandomAccessFile raf=new RandomAccessFile("sdcard\myfile.mf", "r" );;
byte[] data = new byte[10000];
raf.read(data, 300, 10300);
デバイスで再生したいのですが、どうすればよいですか?何か助けはありますか?ありがとう!
私はbyte[]にmp3を持っています(RandomAccessFileから読み取ります):
RandomAccessFile raf=new RandomAccessFile("sdcard\myfile.mf", "r" );;
byte[] data = new byte[10000];
raf.read(data, 300, 10300);
デバイスで再生したいのですが、どうすればよいですか?何か助けはありますか?ありがとう!
私見はできません。ただし、ファイルから読み取る代わりに、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 バイト (残りはバッファに収まりません)