Main Content

audioinfo

有关音频文件的信息

说明

示例

info = audioinfo(filename) 返回有关 filename 指定的音频文件内容的信息。

示例

全部折叠

从示例文件 handel.mat 创建 WAVE 文件,并获取有关此文件的信息。

在当前文件夹中创建 WAVE (.wav) 文件。

load handel.mat
filename = 'C:\Temp\handel.wav';
audiowrite(filename,y,Fs);
clear y Fs

使用 audioinfo 返回有关 WAVE 文件的信息。

info = audioinfo(filename)
info = 

  struct with fields:

             Filename: 'C:\Temp\handel.wav'
    CompressionMethod: 'Uncompressed'
          NumChannels: 1
           SampleRate: 8192
         TotalSamples: 73113
             Duration: 8.9249
                Title: []
              Comment: []
               Artist: []
        BitsPerSample: 16

输入参数

全部折叠

文件名,指定为包含文件扩展名的字符向量或字符串标量。

根据文件的位置,filename 可以采用下列形式之一。

当前文件夹

指定 filename 中文件的名称。

例如:'sample_audio.wav'

其他文件夹

如果该文件不在当前文件夹或 MATLAB® 路径下的文件夹中,则在 filename 中指定完整或相对路径名。

例如:'C:\myFolder\myFile.sample_audio.wav'

例如:'myFolder\sample_audio.mp3'

Internet URL

如果文件指定为 Internet 统一资源定位器 (URL),则 filename 必须包含协议类型 'http://''https://'

例如:'http://hostname/path_to_file/sample_audio.mp3'

远程位置

如果文件存储在远程位置,则 filename 必须包含用以下格式指定的文件的完整路径:

scheme_name://path_to_file/my_file.ext

根据远程位置,scheme_name 可以是下表中的值之一。

远程位置scheme_name
Amazon S3™s3
Windows Azure® Blob 存储wasb, wasbs
HDFS™hdfs

有关详细信息,请参阅处理远程数据

例如:'s3://bucketname/path_to_file/sample_audio.mp3'

示例: 'myFile.mp3'

示例: '../myFile.mp3'

示例: 'C:\temp\myFile.mp3'

audioinfo 支持以下文件格式。

平台支持文件格式
所有平台AIFC (.aifc)
AIFF(.aiff.aif
AU (.au)
FLAC (.flac)
OGG (.ogg)
OPUS (.opus)
WAVE (.wav)
Windows® 7(或更高版本)、Macintosh 和 Linux®MP3 (.mp3)
MPEG-4 AAC(.m4a.mp4

在 Windows 7 平台(或更高版本)中,audioinfo 可能还返回有关 Windows Media® Foundation 支持的任何文件内容的信息。

在 Linux 平台中,audioinfo 可能还返回 GStreamer 支持的任何文件内容的信息。

audioinfo 可以从 Windows 7 或更高版本、macOS 10.7 Lion 或更高版本以及 Linux 上的 MPEG-4(.mp4.m4v)视频文件、从 Windows 7(或更高版本)和 Linux 平台上的 Windows Media 视频 (.wmv) 和 AVI (.avi) 文件中提取音频元数据。

数据类型: char | string

输出参量

全部折叠

有关音频文件的信息,以结构体形式返回。info 可以包含以下字段。

字段名称描述数据类型
Filename包含文件绝对路径和文件扩展名的文件名。character vector
CompressionMethod使用的压缩方法。 character vector
NumChannels音频文件中编码的音频通道数目。double
SampleRate文件中的音频数据的采样率(以赫兹为单位)。double
TotalSamples文件中的音频样本的总数。double
Duration文件的持续时间(以秒为单位)。double
BitsPerSample

音频文件中编码的采样位数。

仅对 WAVE (.wav) 和 FLAC (.flac) 文件有效。

double
BitRate

用于音频压缩文件的千位/秒 (kbit/s) 数。

仅对 MP3 (.mp3) 和 MPEG-4 音频(.m4a.mp4)文件有效。

double
Title'Title' 的值(如果有)。character vector
Artist'Artist' 的值(如果有)。character vector
Comment'Comment' 的值(如果有)。character vector

注意

BitRate 属性返回 Mac 平台中的实际比特率,而不是编码的比特率。这意味着比特率值可能低于在编码时指定的值,具体取决于源数据。

注意

Mac 平台中,audioinfo 仅在 macOS 10.7 Lion 或更高版本上返回 .m4a.mp4 文件中的元数据。以前版本的 macOS 无法读取 'Title''Author''Comment' 字段。

局限性

  • 对于 Windows 7 或更高版本和 Linux 平台上的 MP3 和 MPEG-4 AAC 音频文件,audioinfo 报告的样本数量可能比预期的少。在 Linux 平台上,这是由于基础 GStreamer 框架的局限性所致。

  • 在 Linux 平台上,audioinfo 将 MPEG-4 AAC 文件中的单通道数据解释为立体声数据。

  • 对于 Windows 平台上的 MP3 文件,audioinfo 可能不会报告输出结构体的 ArtistTitleComment 字段中的值。这种省略是由于基础 Windows Media Foundation 库中的局限性所致。

版本历史记录

在 R2012b 中推出

全部展开

另请参阅

|