我在确定如何检测AAC音频源是否与Android兼容时遇到问题.支持的媒体格式page for android在作为3GP,MPEG4或ADTS原始AAC提供时称为“AAC LC / LTP”.看来LC意味着“低复杂性”而LTP意味着“长期预测”但是,我最大的挫败感是确定Android上支持哪些AAC配置文件/模块.当我将输入运行到ffmpeg时,我看到它的AAC,但没有扩展有关AAC的信息.示例来源是http://6693.live.streamtheworld.com:80/WTMJAMAAC_SC.任何人都有任何想法?
解决方法:
您可以使用此处提供的MediaInfo库以编程方式获取扩展媒体信息:
http://mediainfo.sourceforge.net/en/Download
“DLL”或其他媒体下载包括C,C#等示例代码.
如果您不想编写任何代码,则同一网站会下载“MediaInfo”,这是一个使用该库显示信息的程序.
您的Android支持的媒体格式链接说:“单声道/立体声内容,标准比特率高达160 kbps,采样率从8到48kHz”.请注意,下面的示例显示了所有这些:通道,总比特率和采样率.
可能有必要自己测试“高达160 kbps”是否意味着“总体上高达160 kbps”或“文件的任何部分,包括那些用可变比特率(VBR)编码的文件,都可能超过160kbps.”
值得注意的是,我在我的单核Android手机上播放了具有256KB VBR AAC 6声道音频的电影,但显然我没有听到后环绕声道.由于这些原因,我怀疑链接中提出的限制是Google允许的最低限度,但实际支持的音频格式要宽泛得多.
以下是实际AAC文件(使用MediaInfo程序)的示例:
Format : ADTS
Format/Info : Audio Data Transport Stream
File size : 176 KiB
Duration : 30s 707ms
Overall bit rate : 46.8 Kbps
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : Yes
Format settings, PS : Yes
Muxing mode : ADTS
Duration : 30s 707ms
Bit rate mode : Constant
Bit rate : 46.8 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Stream size : 176 KiB (100%)
我在C#中为MediaInfo编写了一个包装器库.没有必要使用MediaInfo,但使其使用更容易,更“.NET友好”.它可以在这里找到:MediaInfo.Net.