【问题标题】:Can't play .m4a or .3gpp audio files in my website无法在我的网站中播放 .m4a 或 .3gpp 音频文件
【发布时间】:2016-11-30 20:18:52
【问题描述】:

基本上,我在 android 中构建了一个应用程序,用于记录我的消息并将其保存为 .m4a 或 .3gpp 格式。 当我在我的应用程序中播放记录时,它可以正常工作,但是当我尝试在我的网站上播放它时,它不起作用......

Android(Java)

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(OUTPUT_FILE);
recorder.prepare();
recorder.start();

网站(HTML)

<audio controls="controls" preload="none">
     <source src="my_record.m4a" type="audio/mp4"/>
</audio>

P.S:当我尝试打开其他一些 m4a 音频文件(我在网上找到的文件)时,我成功了。

【问题讨论】:

    标签: java android html audio


    【解决方案1】:

    音频标签对此非常敏感。任何高于 128mbps 的内容都不会播放。许多编码器会自动选择最高质量的比特率(通常约为 320mbps),而音频标签不会播放它们。采样率应为 44100hz。

    AAC音频编码标准支持的采样率为8-96kHz,AMRNB支持的采样率为8kHz,AMRWB支持的采样率为16kHz。

    因此在您的代码中将 Audioencoder 更改为 AAC

    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    

    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    

    然后将文件扩展名设置为 .mp3

    希望这对你有用。:)

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 2014-12-15
      • 2020-10-17
      相关资源
      最近更新 更多