【问题标题】:Some audio files are not playing using AVPlayer swift 4使用 AVPlayer swift 4 无法播放某些音频文件
【发布时间】:2019-02-05 06:23:34
【问题描述】:

我有 3 个远程 mp3 文件要使用 AVPlayer 进行流式传输

文件 1 - 元数据(运行顺利)

文件 2 - 元数据(仍显示为正在加载,无法在 ios 但在 android 中工作)

文件 3 - 元数据(此文件至少在播放某些内容,但没有激活播放控件,如搜索、倒带、前进、后退、持续时间)

在此处查找元结果 https://drive.google.com/drive/u/0/folders/1mvHGa6iPJba_Bv6NiYzTpwgHTRGHHd7J

这是我实现的代码

let destinationString = "https://example.com/audio.mp3"
let fileUrl = URL(fileURLWithPath: destinationString)
player = AVPlayer(url:fileUrl)
let vc = AVPlayerViewController()
vc.showsPlaybackControls = true
vc.player = player
self.view.addSubview(vc.view)
self.addChildViewController(vc)
player.play()

搜索了很多支持的文件类型和内容类型,但即使从苹果文档中也没有得到任何相关结果,以前有人遇到过这个问题吗?

完全无助。 请帮我。

提前致谢。

【问题讨论】:

  • 您确定这些文件实际上是 mp3 吗?只有你的第二个链接仍然给我一个结果,但从那里可用的信息(尤其是编解码器)来看,这可能是一个 3gp 文件,而不是一个 mp3。根据我的经验,AVAsset 对(文件)扩展名可能有点挑剔,因此您可能需要确保它们是正确的。
  • 我不确定,因为我不知道实现 MP3 实际需要什么编码参数
  • PS:元结果更新请查看新链接

标签: ios swift swift4 avplayer avplayerviewcontroller


【解决方案1】:

尝试对 URL 使用字符串初始化

let fileUrl = URL(string: destinationString)!

从头开始。如果这不起作用,请尝试在 iPhone 的 safari 上播放这些文件。如果它有效,那么应用程序中有问题,否则可能是服务器问题。

至少这会帮助你调试问题

【讨论】:

  • 感谢您的支持。我已经尝试过这样的 URL(string:destinationString)!但发生同样的事情。
  • 即使 player.error 也不会抛出错误。所以对运行时日志失去了希望
  • 嘿,你找到解决这个问题的方法了吗??我也面临同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
相关资源
最近更新 更多