在Objective-C中确定mp4是音频还是视频

6

由于mp4是一种容器文件格式,因此它可以存储音频和视频文件。我正在努力查找它的真实媒体类型(无论是音频还是视频)。在IOS(Objective C)中是否可以完成这项工作?


也许这个库可以帮助你 -> https://github.com/aidansteele/MagicKit - borrrden
请点击此链接 http://stackoverflow.com/questions/7136153/how-can-i-find-out-all-audio-files-whose-formats-are-supported-by-avaudioplayer,以查找所有被AVAudioPlayer支持的音频文件。 - Hussain Shabbir
3个回答

10
AVAsset *asset = [AVAsset assetWithURL:<URL to mp4>];
BOOL hasVideo = [asset tracksWithMediaType:AVMediaTypeVideo].count > 0;
BOOL hasAudio = [asset tracksWithMediaType:AVMediaTypeAudio].count > 0;

0
AVURLAsset* asset = [[AVURLAsset alloc]initWithURL:_assetUrl options:nil];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack * audioTrack = [audioTracks firstObject];
if([track hasMediaCharacteristic:AVMediaCharacteristicAudible]){

}

0
    BOOL isMP4VideoType; //Global Variables;
    BOOL isMP4AudioType; //Global Variables;

    //Create an object of AVAsset  class With MP4 URL.
    AVAsset *asset = [AVAsset assetWithURL:YOUR_MP4_URL];

    NSArray *aryVideoTracks = [asset tracksWithMediaType:AVMediaTypeVideo];
    NSArray *aryAudioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
    if([aryVideoTracks count]!=0)
    {
     isMP4VideoType = YES;
    }else if([aryVideoTracks count]!=0)
    {
     isMP4AudioType = YES;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接