0
AudioTrackにOGGファイルをロードしようとしているので、再生レートを管理して再生できます。しかし、 "track [voiceIndex] = dis.readByte();"という行でnullポインタ例外が発生しています。私はそれがトラックアレイの境界から外れていると思う。私は正直なところデータストリームについてあまり知らないので、ちょうどこのコードをコピーしました。私はそれを理解するのに苦労している。どんな助けでも感謝します、ありがとう。OGG Audio to AudioTrack
.....
private AudioTrack voice = null;
private InputStream is = null;
private byte[] track = null;
private BufferedInputStream bis = null;
private DataInputStream dis = null;
.......
int playbackRate = 0;
is = getResources().openRawResource(sentences[index].voice);
bis = new BufferedInputStream(is, 8000);
dis = new DataInputStream(bis);
while (dis.available() > 0){
track[voiceIndex] = dis.readByte();
voiceIndex++;
}
voice.write(track, 0, track.length);
playbackRate = voice.getPlaybackRate();
voice.play();
代わりに、再生レートを変更する代わりにSoundPoolを使用できますか? – lespommes
さあ誰か? – lespommes