Determine if mp4 is audio or video in a C object

Since mp4 is a container file format, it can store audio as well as video files. What I'm trying to figure out is his true type of media. (Be it audio or video) Can this be done in iOS (goal c)?

+4
source share
3 answers
AVAsset *asset = [AVAsset assetWithURL:<URL to mp4>];
BOOL hasVideo = [asset tracksWithMediaType:AVMediaTypeVideo].count > 0;
BOOL hasAudio = [asset tracksWithMediaType:AVMediaTypeAudio].count > 0;
+8
source
    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;
    }
0
source
AVURLAsset* asset = [[AVURLAsset alloc]initWithURL:_assetUrl options:nil];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
AVAssetTrack * audioTrack = [audioTracks firstObject];
if([track hasMediaCharacteristic:AVMediaCharacteristicAudible]){

}
0
source

All Articles