Android #阅读音频格式并产生声音
我正在开发一款android媒体播放器,需要使用WAV和MP3等音频格式。我需要在把文件读成字节后产生声音。任何人都知道怎么做,或者可以帮忙Android #阅读音频格式并产生声音,android,Android,我正在开发一款android媒体播放器,需要使用WAV和MP3等音频格式。我需要在把文件读成字节后产生声音。任何人都知道怎么做,或者可以帮忙 注意:不能使用MediaPlayer类或其他就绪类,我需要以字节形式读取文件并发出声音。为什么不能使用MediaPlayer 也许可以试试exoplayer。 示例代码来自 谢谢你的回答,这个程序和我的学习有关,所以我需要建立我自己的媒体播放器,支持一些格式,如wav,mp3和avi。所以我不能使用像媒体播放器类或其他现成的类。我必须以字节的形式读取每
注意:不能使用MediaPlayer类或其他就绪类,我需要以字节形式读取文件并发出声音。为什么不能使用MediaPlayer 也许可以试试exoplayer。
示例代码来自
谢谢你的回答,这个程序和我的学习有关,所以我需要建立我自己的媒体播放器,支持一些格式,如wav,mp3和avi。所以我不能使用像媒体播放器类或其他现成的类。我必须以字节的形式读取每种格式并产生声音。
private void prepareExoPlayerFromFileUri(Uri uri){
exoPlayer = ExoPlayerFactory.newSimpleInstance(this, new DefaultTrackSelector(null), new DefaultLoadControl());
exoPlayer.addListener(eventListener);
DataSpec dataSpec = new DataSpec(uri);
final FileDataSource fileDataSource = new FileDataSource();
try {
fileDataSource.open(dataSpec);
} catch (FileDataSource.FileDataSourceException e) {
e.printStackTrace();
}
DataSource.Factory factory = new DataSource.Factory() {
@Override
public DataSource createDataSource() {
return fileDataSource;
}
};
MediaSource audioSource = new ExtractorMediaSource(fileDataSource.getUri(),
factory, new DefaultExtractorsFactory(), null, null);
exoPlayer.prepare(audioSource);
exoPlayer.setPlayWhenReady(true);
}