【问题标题】:AVPlayer not playing iPod-Library song item in swiftAVPlayer 不能快速播放 iPod-Library 歌曲项
【发布时间】:2015-10-20 00:06:15
【问题描述】:

我正在使用 iPod Library 中的 MPMediaItem 访问歌曲并将assetURL 保存在我的核心数据中,然后我使用以下代码播放声音,但它不播放声音。

  var url = NSURL.fileURLWithPath(file as String)
    print("FILE :   \(file)  \n")
    var error: NSError?
    var itemPlayer:AVPlayer?
   // itemPlayer = AVPlayer(URL: NSURL(fileURLWithPath: file as String))
    itemPlayer = AVPlayer(playerItem: AVPlayerItem(URL: NSURL(fileURLWithPath: file as String)))
    itemPlayer!.play()

它只是打印以下内容,但播放器没有播放歌曲

FILE :   ipod-library://item/item.mp3?id=4287130341014298234  

如果我使用 AVAudioPlayer 来使用上面的assetURL 初始化播放器,那么它会返回 Nil。我认为这是因为上面的 url 不是本地的,它应该像 file://....那么我应该怎么做才能使用 iPod 库中歌曲的assetURL 播放声音

【问题讨论】:

    标签: ios swift avplayer


    【解决方案1】:

    如果您正在尝试播放 iPod 库中的音乐文件并且已经在使用 MPMediaItem,您应该尝试使用 MPMusicPlayerController。

    或者,如果您想继续以前的方式,您可以这样做(假设您的 file 变量是 MPMediaItem):

     var fileUrl = file.assestURL
     var myPlayerItem = AVPlayerItem(URL: fileURL)
     itemPlayer = AVPlayer(playerItem: myPlayerItem)
    

    【讨论】:

    • 请您自己检查第二种方法。这里的主要问题是 fileUrl 就像 ipod-library:// ......但是对于 AVPlayerItem 它应该像这个 file:///............ 所以在以上情况 myPlayerItem 将为零
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多