【问题标题】:Get Metadata from audio stream with AVAUDIOPLAYER使用 AVAUDIOPLAYER 从音频流中获取元数据
【发布时间】:2016-03-25 13:52:40
【问题描述】:

我想使用 AVAUDIOPLAYER 从音频流中检索元数据(歌曲、艺术家)。我尝试使用此代码,但我没有从多个 URL 获取任何数据。

NSURL *url = [NSURL URLWithString:urlString];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];

for (NSString *format in [asset availableMetadataFormats])

有人能帮帮我吗?也许我做错了? AVAUDIOPLAYER 可以这样做吗?

谢谢

【问题讨论】:

  • 我会使用AVPlayer 而不是AVAudioPlayer,然后您可以创建一个AVPlayerItem 并将其与AVPlayer 的实例相关联。可以使用其属性(例如tracksduration)来检索项目的元数据。 here are the docs 。如果您想要AVPlayerItem 未提供的附加元数据,那么您可以首先创建一个AVAsset,然后从该对象中检索附加数据。然后,您将从 AVAsset 创建一个 AVPlayerItem
  • 感谢您的建议。 Avaudioplayer 的任何解决方案?也许它不可能用 ..???? 获取元数据
  • 我不知道

标签: ios audio metadata avaudioplayer


【解决方案1】:

这是一个如何创建AVAsset 并使用它来创建AVPlayerItem 的示例,该AVPlayerItem 然后可以与AVPlayer 的实例相关联。可以使用AVAsset 的属性检索元数据...

var player = AVPlayer()      
func createAssetAndItem(){

    //create AVAsset from an NSURL. metadata can be retrieved from the asset depending on what is available
let createdAVAsset = AVURLAsset(URL: songNSURL)

    //create an AVPlayerItem from the AVAsset
let createdAVItem = AVPlayerItem(asset: createdAVAsset)

    //asscoaite AVPlayerItem with instance of AVPlayer
player = AVPlayer(AVPlayerItem: createdAVItem)


}

【讨论】:

  • 不起作用:(我现在很绝望。我找不到任何解决方案
  • 您现在正在使用AVPlayer 吗?我们需要查看与您的尝试相关的代码,但您可能应该为此提出一个新问题。另外,您从哪里获取音频文件?可能没有提供元数据
  • 我回答了,很抱歉我花了这么多时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多