支持pcm语音文件缓存顺序播放
功能
当有多个语音文件同时到来的时候,先把语音添加到列表中,然后按添加的先后顺序播放,计算每个语音文件的播放时长,确保顺序播放时候每个语音都能播放完整
实现代码
import { audio } from '@kit.AudioKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileIo as fs } from '@kit.CoreFileKit';
import { Constants } from '../core/constant/Constants';const TAG = 'PcmAudioPlayer-native';class Options {offset?: number;length?: number;
}export class PcmAudioPlayer {private bufferSize: number = 0;private renderModel: audio.AudioRenderer | null = null;private file: fs.File | null = null;private filePath: string = '';private playbackQueue: string[] = []; // 播放队列private isPlaying: boolean = false; // 播放状态标志private isReleasing: boolean = false; // 新增释放状态标志pri