我的AlbumViewController.h中有以下代码@propertyMPMediaItemCollection*album;在我的.m上,我像这样使用这个属性:MPMediaItem*item=[[_album.itemsobjectAtIndex:i]representativeItem];在Xcode6.0上,这段代码编译得很好,但在Xcode7.0上,我不断收到“Novisibleinterface”错误。有人知道怎么处理吗? 最佳答案 你只是想要:MPMediaItem*item=_album.items[i];MP
我知道我可以通过以下方式从iPod图书馆获取所有有声读物:MPMediaPropertyPredicate*abPredicate=[MPMediaPropertyPredicatepredicateWithValue:[NSNumbernumberWithInt:MPMediaTypeAudioBook]forProperty:MPMediaItemPropertyMediaType];MPMediaQuery*abQuery=[[MPMediaQueryalloc]init];[abQueryaddFilterPredicate:abPredicate];[abQuerysetGr
我发现(自定义我发现的方法)一种转换MpMediaItem和获取mp3文件的方法。这可能不是最好的方法,但它确实有效。有没有办法获取*.ogg文件而不是*.mp3?什么是正确的方法?这是我用来获取*.mp3文件的方法:-(void)exportMP3:(NSURL*)urltoFileUrl:(NSString*)fileURL{AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:urloptions:nil];AVAssetReader*reader=[[AVAssetReaderalloc]initWithAsset:asseterror:
谁能帮我把从设备媒体库中选择的歌曲转换成NSData?我需要一个接受媒体项并返回该特定媒体项的NSData的函数。提前致谢 最佳答案 您可以使用此代码MPMediaItem*item=//obtainthemediaitemNSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];//GetrawPCMdatafromthetrackNSURL*assetURL=[itemvalueForProperty:MPMediaItemPropertyAssetURL];NSMutableD
MPMediaPickerController返回一个MPMediaItem如果返回本地url,则可以播放声音。如果音乐没有下载到本地,则assetURL为空。如何在本地下载MPMediaItem音乐? 最佳答案 Apple不提供API来触发MPMediaItem下载。但是,您可以通过播放来触发下载。//initasystemmusicplayerMPMusicPlayerController*MPPlayer=[MPMusicPlayerControllersystemMusicPlayer];//setplayqueuewith
我正在使用iPodMusicPlayer开发iOS媒体播放器。我有一个带有MPMediaPickerController选择器的UITableView。从iTunes商店购买歌曲后,所选轨道在iPodMusicPlayer中没有插图:MPMediaPlayer*player=[MPMediaPlayeriPodMusicPlayer];MPMediaItem*item=[playernowPlayingItem];MPMediaItemArtwork*artwork=[itemvalueForProperty:MPMediaItemPropertyArtwork];UIImage*al
这可能吗?我在MPMediaItemProperty...字符串中没有找到类似的东西。也许私有(private)API? 最佳答案 查看文档,方法列表没有对应的字段。这让您可以选择使用新的MPMediaItemProperty扩展MPMediaItem自己用于“添加日期”字段。当然,这只适用于future。或者,您可以解析iTunes库XML项目并将字段与您正在使用的MPMediaItem进行比较。“修改日期”有一个key标签,它包含常规文件系统“修改日期”信息(大概来自文件添加到iTunes的时间),但基本上是文件被删除或添加的时
在结合了几个SO问题(如thisone)的答案后,我已经设法使用AVAssetReader从MPMediaItem获取原始数据。和thisone和一个不错的blogpost.我也可以使用FMOD播放此原始数据,但问题出现了。生成的音频质量似乎低于原始音轨。虽然AVAssetTrackformatDescription告诉我数据中有2个channel,但结果听起来是单声道。它也听起来有点受抑(不那么清脆),就像比特率降低了一样。是我做错了什么还是MPMediaItem数据的质量被AVAssetReader故意降低了(因为盗版)?#defineOUTPUTRATE44100初始化AVAss
我有这段代码,用于查找和播放MPMediaItem:MPMediaPropertyPredicate*predicate=[MPMediaPropertyPredicatepredicateWithValue:self.persistentIDOfSongToPlayforProperty:MPMediaItemPropertyPersistentIDcomparisonType:MPMediaPredicateComparisonContains];NSSet*predicateSet=[NSSetsetWithObject:predicate];MPMediaQuery*searc
有没有办法更新iPod库中MPMediaItem的“已收听”状态?我试过在iPodMusicPlayer模式下使用MPMusicPlayerController,它不会在播放结束后将播客标记为已收听。 最佳答案 据我所知,无法从MPMusicPlayerController更改媒体属性。您唯一可以尝试播放播客并跳到最后一秒,然后播放最后一秒(并将那一秒的音量调为0)。但这也不是什么好方法,因为您播放的内容会导致所有其他iPod播放停止。 关于iphone-将MPMediaItem(播客)