gpt4 book ai didi

ios - 如何检查 MPMediaItem 是否只有音频的 MPMediaType?

转载 作者:可可西里 更新时间:2023-11-01 03:38:53 26 4
gpt4 key购买 nike

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

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

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

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;

最佳答案

要从音乐库中检索所有音乐轨道,请尝试:

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

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

NSArray *items = [query items];

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

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

关于ios - 如何检查 MPMediaItem 是否只有音频的 MPMediaType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com