目前才有下面代码的方式录音频,并生成了pcm文件,但是无法直接播放。使用了在线转换后可正常播放,api文档中未找到转码的代码。希望可以提供一个示例(不要C/C++的)。
import { audio } from '@kit.AudioKit';
let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
channels: audio.AudioChannel.CHANNEL_2,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
}
let audioCapturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0
}
let audioCapturerOptions: audio.AudioCapturerOptions = {
streamInfo: audioStreamInfo,
capturerInfo: audioCapturerInfo
}
audio.createAudioCapturer(audioCapturerOptions, (err, data) => {
if (err) {
console.error(`AudioCapturer Created : Error: ${err}`);
} else {
console.info('AudioCapturer Created : Success : SUCCESS');
let audioCapturer = data;
}
});
可以参考音频编码文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/audio-encoding-V5
示例参考链接:https://gitee.com/openharmony/multimedia\_av\_codec/tree/master/test/nativedemo/audio\_demo