如何检查MPMediaItem的MPMediaType只是音频? [英] How do I check an MPMediaItem for MPMediaType of just audio?

查看:408
本文介绍了如何检查MPMediaItem的MPMediaType只是音频?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望我需要进行逐位比较,但我不清楚如何在Objective-C语法中完成。 MPMediaType的枚举定义如下。

I expect I need to do a bitwise comparison but I am unclear on how that is done in Objective-C syntax. The enum definition of MPMediaType is below.

我需要做的是确保MPMediaItem根本不是视频,因为AVAssetReader会阻塞视频文件,尽管我用MPMediaTypeAnyAudio过滤掉了媒体查询。

What I need to do is ensure the MPMediaItem is not video at all because AVAssetReader is choking on video files despite filtering to MPMediaTypeAnyAudio with my media query.

如何确保MPMediaItem是唯一的音频类型之一?

How can I ensure the MPMediaItem is one of the only audio types?

enum {
    // audio
    MPMediaTypeMusic        = 1 << 0,
    MPMediaTypePodcast      = 1 << 1,
    MPMediaTypeAudioBook    = 1 << 2,
    MPMediaTypeAudioITunesU = 1 << 3, // available in iOS 5.0
    MPMediaTypeAnyAudio     = 0x00ff,

    // video (available in iOS 5.0)
    MPMediaTypeMovie        = 1 << 8,
    MPMediaTypeTVShow       = 1 << 9,
    MPMediaTypeVideoPodcast = 1 << 10,
    MPMediaTypeMusicVideo   = 1 << 11,
    MPMediaTypeVideoITunesU = 1 << 12,
    MPMediaTypeAnyVideo     = 0xff00,

    MPMediaTypeAny          = ~0
};
typedef NSInteger MPMediaType;


推荐答案

要从音乐库中检索所有音乐曲目,尝试:

To retrieve all the music tracks from the music library, try:

MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithInteger:MPMediaTypeMusic] forProperty:MPMediaItemPropertyMediaType];

MPMediaQuery *query = [[MPMediaQuery alloc] init];
[query addFilterPredicate:predicate];

NSArray *items = [query items];

检索音乐,有声读物和播客:

To retrieve music, audio books and podcasts:

MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue [NSNumber numberWithInteger:MPMediaTypeMusic | MPMediaTypePodcast | MPMediaTypeAudioBook] forProperty:MPMediaItemPropertyMediaType comparisonType:MPMediaPredicateComparisonContains];

这篇关于如何检查MPMediaItem的MPMediaType只是音频?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆