Android 播放.pcm文件
时间: 2023-11-10 14:23:34 浏览: 149
要在 Android 上播放 .pcm 文件,可以使用 Android 的 AudioTrack 类。以下是一个简单的示例代码:
```java
// 获取 .pcm 文件的路径
String filePath = "path/to/your/file.pcm";
// 获取文件大小
File file = new File(filePath);
int fileSize = (int) file.length();
// 创建 AudioTrack 实例
int sampleRate = 44100; // 采样率
int channelConfig = AudioFormat.CHANNEL_OUT_MONO; // 声道配置
int audioFormat = AudioFormat.ENCODING_PCM_16BIT; // 样本格式
int bufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat);
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, channelConfig, audioFormat, bufferSize, AudioTrack.MODE_STREAM);
// 打开 .pcm 文件
FileInputStream inputStream = new FileInputStream(filePath);
byte[] buffer = new byte[bufferSize];
// 从文件中读取数据并播放
audioTrack.play();
while (inputStream.read(buffer) != -1) {
audioTrack.write(buffer, 0, bufferSize);
}
// 关闭文件和 AudioTrack
inputStream.close();
audioTrack.stop();
audioTrack.release();
```
需要注意的是,上述代码只适用于单声道的 .pcm 文件。如果文件是双声道的,需要将 `CHANNEL_OUT_MONO` 改为 `CHANNEL_OUT_STEREO`。同时,如果文件的采样率、样本格式与上述代码不同,需要进行相应修改。
阅读全文