草庐IT

mpmediaitem

全部标签

ios - AVAssetReader 以低质量播放 MPMediaItem?

在结合了几个SO问题(如thisone)的答案后,我已经设法使用AVAssetReader从MPMediaItem获取原始数据。和thisone和一个不错的blogpost.我也可以使用FMOD播放此原始数据,但问题出现了。生成的音频质量似乎低于原始音轨。虽然AVAssetTrackformatDescription告诉我数据中有2个channel,但结果听起来是单声道。它也听起来有点受抑(不那么清脆),就像比特率降低了一样。是我做错了什么还是MPMediaItem数据的质量被AVAssetReader故意降低了(因为盗版)?#defineOUTPUTRATE44100初始化AVAss

ios - MPMediaItem 不使用 MPMediaItemPropertyAssetURL 在 AVAudioPlayer 中播放

我有这段代码,用于查找和播放MPMediaItem:MPMediaPropertyPredicate*predicate=[MPMediaPropertyPredicatepredicateWithValue:self.persistentIDOfSongToPlayforProperty:MPMediaItemPropertyPersistentIDcomparisonType:MPMediaPredicateComparisonContains];NSSet*predicateSet=[NSSetsetWithObject:predicate];MPMediaQuery*searc

iphone - 将 MPMediaItem(播客)标记为已收听

有没有办法更新iPod库中MPMediaItem的“已收听”状态?我试过在iPodMusicPlayer模式下使用MPMusicPlayerController,它不会在播放结束后将播客标记为已收听。 最佳答案 据我所知,无法从MPMusicPlayerController更改媒体属性。您唯一可以尝试播放播客并跳到最后一秒,然后播放最后一秒(并将那一秒的音量调为0)。但这也不是什么好方法,因为您播放的内容会导致所有其他iPod播放停止。 关于iphone-将MPMediaItem(播客)

ios - 是否可以获取 MPMediaItem 的 iTunes Store ID?

有没有办法从MPMediaItem获取歌曲的iTunesStoreID?我正在尝试拉取用户的播放列表,将它们传输到另一台设备,然后使用MPMusicPlayerController的setQueueWithStoreIDs播放歌曲。这需要将MPMediaItem映射到iTunesStore中的内容,这就是iTunesMatch的目的,它包含在AppleMusic订阅中。理论上,这对于与iTunes内容匹配的歌曲应该是可行的。但是,我无法在MPMediaItem或MPMediaPlayer框架中支持此功能的任何其他类上找到属性或valueForKey。persistentId属性集是本地

ios - 如何在 iOS 的 MPMusicPlayerController 中播放 MPMediaItem?

我正在尝试在iOS的MPMusicPlayerController中播放MPMedaiItem。在我的例子中,我有一个显示播放列表中歌曲的UITableView。当我点击UITableView上的单元格时,我想用MPMusicPlayerController播放那首歌。我还想在点击下一首按钮时跳过播放列表中的下一首歌曲。怎么玩?下面是我的一些代码,写在UITableView的didSelected方法中。那没有任何作用。MPMediaItemCollection*songs=[self.arrayOfSongsobjectAtIndex:indexPath.row];MPMediaIt

ios - 当MPMediaItem assetURL为零时如何解决?

我正在开发一个代码,它可以查看用户的视频,并通过一个带有url的avplayeritem将它们传递给avplayer。要在iOS设备上获取所有视频,您可以执行以下操作:letvideoNumber=MPMediaType.anyVideo.rawValueletpredicate=MPMediaPropertyPredicate.init(value:videoNumber,forProperty:MPMediaItemPropertyMediaType)letquery=MPMediaQuery.init()query.addFilterPredicate(predicate)ifl

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

我希望我需要进行按位比较,但我不清楚这在Objective-C语法中是如何完成的。MPMediaType的枚举定义如下。我需要做的是确保MPMediaItem根本不是视频,因为尽管使用我的媒体查询过滤到MPMediaTypeAnyAudio,但AVAssetReader正在阻塞视频文件。如何确保MPMediaItem是仅有的音频类型之一?enum{//audioMPMediaTypeMusic=1 最佳答案 要从音乐库中检索所有音乐轨道,请尝试:MPMediaPropertyPredicate*predicate=[MPMediaP

ios - 如何从 MPMediaItem 获取艺术家图片?

我正在寻找一种通过MediaPlayer库获取艺术家图片的方法。我在theApple'sDoc中搜索过,但没有什么。属性“Artwork”指的是专辑的封面。知道我是否以及如何获得它吗? 最佳答案 我相信正在发生的一切是音乐的MPMediaItem包装了MP3标签的属性。因此艺术作品嵌入在源文件(.mp3、.aac等)中。那么问题来了,这位艺术家的图片从何而来?我认为您必须为此编写自己的网络服务。不过我可能是错的。 关于ios-如何从MPMediaItem获取艺术家图片?,我们在Stack

ios - MPMediaItem 的唯一 ID 而不是 persistentID

通过使用persistentID来唯一标识歌曲,但我们在音乐应用程序中提供了将同一首歌曲多次添加到播放列表的规定,这往往会在播放列表中多次出现同一首歌曲以及persistentID相同,所以我无法找出当前选择的歌曲,因为所有歌曲都具有相同的persistentID。是否有任何替代方法来识别MPMediaItem而不是persistentID。注意:我也无法通过UITableView上的选定单元格来决定,因为它还有一些其他依赖项。 最佳答案 如何使用来自MPMediaItem的playbackStoreID?参见https://dev

iOS - MPMediaItem 显示默认图稿

我目前正在开发一款应用程序,可以显示您在音乐播放器中收听的艺术家、轨道和专辑封面。除了当我播放一首没有艺术作品的歌曲时,我希望能够显示我自己的默认图像(而不是显示空白屏幕)之外,一切都很顺利。下面是我想象它应该如何工作但是它永远不会进入else因为itemArtwork永远不会为零!感谢您的帮助。谢谢,本_item=[_playernowPlayingItem];MPMediaItemArtwork*itemArtwork=[_itemvalueForProperty:MPMediaItemPropertyArtwork];if(itemArtwork!=nil){UIImage*al