欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

expo Audio RecordingOptions配置

程序员文章站 2022-06-17 10:12:04
1.格式输出所支持的码率(sampleRate)“MPEG4AAC (8000, 11025, 22050, 32000, 44100, 48000)”,“AppleLossless (8000, 11025, 22050, 32000, 44100, 48000)”,“MPEG4AAC_HE (32000, 44100, 48000)”,“MPEG4AAC_LD (22050, 32000, 44100, 48000)”,“MPEG4AAC_ELD (22050, 32000, 44100, 4...

1.格式输出所支持的码率(sampleRate)
“MPEG4AAC (8000, 11025, 22050, 32000, 44100, 48000)”,
“AppleLossless (8000, 11025, 22050, 32000, 44100, 48000)”,
“MPEG4AAC_HE (32000, 44100, 48000)”,
“MPEG4AAC_LD (22050, 32000, 44100, 48000)”,
“MPEG4AAC_ELD (22050, 32000, 44100, 48000)”,
“MPEG4AAC_ELD_SBR (22050, 32000, 44100, 48000)”,
“MPEG4AAC_ELD_V2 (22050, 32000, 44100, 48000)”

ios支持的格式
expo  Audio RecordingOptions配置

const RecordingOptions = {
    ios: {
        extension: '.m4a',
        outputFormat: Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC,
        audioQuality: Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_LOW,
        sampleRate: 8000,
        numberOfChannels: 1,
        bitRateStrategy: 3,
        linearPCMBitDepth: 16,
        linearPCMIsBigEndian: false,
        linearPCMIsFloat: false,
        bitRate: 64000,
    },
    android: {
        extension: '.m4a',
        outputFormat: Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_MPEG_4,
        audioEncoder: Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AAC,
        sampleRate: 44100,
        numberOfChannels: 1,
        bitRate: 128000,
    },
};

RecordingOptions

记录扩展名,采样率,比特率,通道,格式,编码器等可以通过将选项字典传递到来自定义prepareToRecordAsync()。
为了方便起见,我们提供了以下示例中的预设选项。有关这些预设的定义,请参见下文。
Audio.RECORDING_OPTIONS_PRESET_HIGH_QUALITY
Audio.RECORDING_OPTIONS_PRESET_LOW_QUALITY
我们还提供了定义自己的自定义录制选项的功能,但是我们建议您使用预设,因为并非所有选项组合都可以使您成功prepareToRecordAsync()。您必须在iOS和Android上测试自定义选项,以确保其正常运行。将来,我们将枚举所有可能的有效组合,但是目前,我们的目标是使基本用例变得容易(带有预设)和高级用例成为可能(通过公开本机提供的所有功能)。与往常一样,如有任何问题,请随时在论坛或Slack上对我们进行ping操作。
为了定义自己的自定义录制选项,必须提供以下键值对的字典。
android:适用于Android平台的键值对字典。此密钥是必需的。
extension:所需的文件扩展名。此密钥是必需的。有效值的示例是.3gp和.m4a。有关更多信息,请参阅Android文档以获取支持的输出格式。
outputFormat:所需的文件格式。此密钥是必需的。有关的所有有效值的枚举,请参见下一部分outputFormat。
audioEncoder:所需的音频编码器。此密钥是必需的。有关的所有有效值的枚举,请参见下一部分audioEncoder。
sampleRate:所需的采样率。该键是可选的。有效值的示例是44100。请注意,采样率取决于音频记录的格式以及平台的功能。例如,AAC音频编码标准支持的采样率范围是8到96 kHz,AMRNB支持的采样率是8kHz,而AMRWB支持的采样率是16kHz。有关支持的音频采样率,请咨询相关的音频编码标准。
numberOfChannels:所需的频道数。该键是可选的。有效值的示例是1和2。请注意,prepareToRecordAsync()可能会对参数执行其他检查,以确保指定数量的音频通道是否适用。
bitRate:所需的比特率。该键是可选的。有效值的示例是128000。请注意,prepareToRecordAsync()可能会对该参数执行其他检查,以确保指定的比特率是否适用,有时,传递的bitRate会在内部进行裁剪,以确保音频音频可以根据平台的功能顺利进行。
maxFileSize:所需的最大文件大小(以字节为单位),之后记录将停止(但stopAndUnloadAsync()此后仍必须调用)。该键是可选的。有效值的示例是65536。
ios :适用于iOS平台的键值对字典
extension:所需的文件扩展名。此密钥是必需的。有效值的示例是.caf。
outputFormat:所需的文件格式。该键是可选的。有关的所有有效值的枚举,请参见下一部分outputFormat。
audioQuality:所需的音频质量。此密钥是必需的。有关的所有有效值的枚举,请参见下一部分audioQuality。
sampleRate:所需的采样率。此密钥是必需的。有效值的示例是44100。
numberOfChannels:所需的频道数。此密钥是必需的。有效值的示例是1和2。
bitRate:所需的比特率。此密钥是必需的。有效值的示例是128000。
bitRateStrategy:所需的比特率策略。该键是可选的。有关的所有有效值的枚举,请参见下一部分bitRateStrategy。
bitDepthHint:所需的位深度提示。该键是可选的。有效值的示例是16。
linearPCMBitDepth:所需的PCM位深度。该键是可选的。有效值的示例是16。
linearPCMIsBigEndian:一个布尔值,描述PCM数据是否应采用大端格式。该键是可选的。
linearPCMIsFloat:一个布尔值,描述PCM数据应以浮点数还是整数值编码。该键是可选的。

android :
outputFormat :
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_DEFAULT
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_THREE_GPP
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_MPEG_4
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_AMR_NB
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_AMR_WB
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_AAC_ADIF
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_AAC_ADTS
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_RTP_AVP
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_MPEG2TS
Audio.RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_WEBM
audioEncoder :
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_DEFAULT
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AMR_NB
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AMR_WB
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AAC
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_HE_AAC
Audio.RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AAC_ELD
ios :
outputFormat :
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_LINEARPCM
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_AC3
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_60958AC3
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_APPLEIMA4
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4CELP
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4HVXC
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4TWINVQ
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MACE3
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MACE6
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_ULAW
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_ALAW
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_QDESIGN
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_QDESIGN2
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_QUALCOMM
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEGLAYER1
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEGLAYER2
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEGLAYER3
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_APPLELOSSLESS
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_HE
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_LD
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_ELD
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_ELD_SBR
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_ELD_V2
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_HE_V2
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MPEG4AAC_SPATIAL
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_AMR
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_AMR_WB
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_AUDIBLE
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_ILBC
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_DVIINTELIMA
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_MICROSOFTGSM
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_AES3
Audio.RECORDING_OPTION_IOS_OUTPUT_FORMAT_ENHANCEDAC3
audioQuality :
Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_MIN
Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_LOW
Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_MEDIUM
Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_HIGH
Audio.RECORDING_OPTION_IOS_AUDIO_QUALITY_MAX
bitRateStrategy :
Audio.RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_CONSTANT
Audio.RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_LONG_TERM_AVERAGE
Audio.RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_VARIABLE_CONSTRAINED
Audio.RECORDING_OPTION_IOS_BIT_RATE_STRATEGY_VARIABLE

供参考,以下是RecordingOptionsAudio SDK中实现的的两个预设示例的定义:

export const RECORDING_OPTIONS_PRESET_HIGH_QUALITY: RecordingOptions = {
  android: {
    extension: '.m4a',
    outputFormat: RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_MPEG_4,
    audioEncoder: RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AAC,
    sampleRate: 44100,
    numberOfChannels: 2,
    bitRate: 128000,
  },
  ios: {
    extension: '.caf',
    audioQuality: RECORDING_OPTION_IOS_AUDIO_QUALITY_MAX,
    sampleRate: 44100,
    numberOfChannels: 2,
    bitRate: 128000,
    linearPCMBitDepth: 16,
    linearPCMIsBigEndian: false,
    linearPCMIsFloat: false,
  },
};

export const RECORDING_OPTIONS_PRESET_LOW_QUALITY: RecordingOptions = {
  android: {
    extension: '.3gp',
    outputFormat: RECORDING_OPTION_ANDROID_OUTPUT_FORMAT_THREE_GPP,
    audioEncoder: RECORDING_OPTION_ANDROID_AUDIO_ENCODER_AMR_NB,
    sampleRate: 44100,
    numberOfChannels: 2,
    bitRate: 128000,
  },
  ios: {
    extension: '.caf',
    audioQuality: RECORDING_OPTION_IOS_AUDIO_QUALITY_MIN,
    sampleRate: 44100,
    numberOfChannels: 2,
    bitRate: 128000,
    linearPCMBitDepth: 16,
    linearPCMIsBigEndian: false,
    linearPCMIsFloat: false,
  },
};

本文地址:https://blog.csdn.net/weixin_37178391/article/details/110530621

相关标签: react