问题标签 [avplayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
8140 浏览

iphone - 在 iOS 上停止 AVPlayer

我正在使用 AVPlayer 播放来自 Internet 的实时流。AVPlayer 可以暂停,但在恢复时它会从暂停的那一刻开始,就像 TiVO 一样。AVPlayer 没有停止方法。

如何让它继续播放当前正在播放的内容(就像您关闭并重新打开汽车收音机一样)?

0 投票
1 回答
1826 浏览

ios - 应用程序在后台运行时如何处理 AVPlayer 错误?

我正在使用AVPlayer播放音频流,并且可以让它在后台播放。我想知道如何处理用户失去互联网连接的情况,以便我可以提供一些反馈,或者在几秒钟后尝试重新建立播放。

编辑:我知道这个问题与 AVPlayer 有关,但如果你有答案,MPMoviePlayerController它也可能有用。现在,通过使用MPMoviePlayerController,我正在尝试通过订阅 来获取 的MPMovieFinishReasonPlaybackError情况,但是如果我的音频在后台播放并且我打开了飞行模式,我永远不会收到此通知;我只得到,我不知道如何将其与用户自己停止音频的情况区分开来。MPMoviePlayerPlaybackDidFinishReasonUserInfoKeyMPMoviePlayerPlaybackDidFinishNotificationMPMovieFinishReasonPlaybackEnded

0 投票
1 回答
2257 浏览

iphone - 混合视频类型内容在 iPhone 上的 AVQueuePlayer 中排队

我想首先为这篇长得可笑的帖子道歉,但我试图提供尽可能多的代码和数据供您参考。

我正在做一个视频项目,我需要 AVQueuePlayer 的灵活性(最重要的是能够自由缩放和布局视频层,以及创建我的自定义控件)。问题是,我需要能够混合不同类型的视频内容(在这种情况下,渐进式下载 .mp4 和 http 流式传输 .m3u8)。这就是事情变得时髦的地方。

首先一些代码让你去:

当 AVPlayerItem 改变状态时,会调用这个方法:

如果用户选择按下“下一步”按钮,播放器将跳至下一个剪辑:

最后,当 AVPlayerItem 到达末尾时,调用此方法:

好的,所以我的问题是混合不同的格式(在这种情况下是 m3u8 文件)会导致一些时髦的行为。

如果我首先在队列中加载 m3u8 文件,它会正常播放,但如果我 advanceToNextItem 应用程序崩溃。NSZombieEnabled 报告:

调用堆栈显示了一个超出我界限的版本(MyPlayer 是项目的名称):

如果 .m3u8 文件放置在队列中第一个位置之后的某个位置,我会得到状态 AVPlayerItemStatusFailed,并且剪辑会跳到队列中的下一个剪辑。

我意识到这可能与一些内存管理有关,但同时我开始怀疑它。然而,很明显我做错了什么,所以每一个解决方案的建议都非常受欢迎。

0 投票
1 回答
1253 浏览

background - iPod - 让原生音乐应用在后台播放声音

我正在为 iPod 构建一个应用程序。运行它时,本机 iPod 音乐应用程序应继续在后台播放,但这并没有发生。

我认为这可能与我的应用程序播放的声音有关。为了在某​​个点播放短声音,我使用的是 AVAudioPlayer。代码如下所示:

这会干扰 iPod 上的本地音乐播放器吗?还有一件事。在我的应用程序中,我集成了 AdWhirl,它似乎使用了 AudioToolbox。

非常感谢,乔治

0 投票
2 回答
2074 浏览

audio - 在 iOS 4 上播放流或远程 mp3 文件的可用选项

我正在尝试制作一个用于收听播客的应用程序。每个播客都是一个 mp3 文件,大小约为 50MB。在查看了多媒体编程指南的使用音频章节后,我决定使用 AVPlayer,因为其他选项似乎不合适。然而,我使用 AVFoundation 的次数越多,它看起来就越复杂,我觉得简单地流式传输 mp3 文件应该更容易。另外,在本文档的顶部,有一条说明:

重要提示:本文档包含以前在 iOS 应用程序编程指南中的信息。本文档中的信息尚未专门针对 iOS 4.0 进行更新

这是否意味着我还有其他选择,或者 AVFoundation 对于我需要做的事情来说可能是一种矫枉过正?如果有人能把事情弄清楚一点并让我知道我是否在这里做错了,我将非常感激。

提前致谢!

0 投票
1 回答
1566 浏览

ios - AVPlayer 在加密的 HLS 材料上崩溃

我有一个问题,在播放加密的 HLS 资产并且加密密钥丢失时,我在 URLConnectionClient 中得到了 EXC_BAD_ACCESS。MPMovieViewController 没有问题,只是无法播放,但正如我提到的,当 AVPlayer 无法检索解密密钥时,我会崩溃。

例如这个:

如果文件 prog_index.m3u8 已加密解密密钥不可用,则会在单独的线程中崩溃(具体为 com.apple.coremedia.networkbuffering)。我已经验证在可以加载解密密钥时它可以正常工作。

有谁知道解决方法?

0 投票
1 回答
1119 浏览

iphone - 制作网络广播应用程序

我正在使用自定义界面制作自己的互联网广播应用程序。所以我想知道用自定义界面实现音频播放的最佳工具是什么?我尝试使用 MPMoviePlayerController,但我不知道如何自定义它的界面。我也尝试过 AVPlayer,但不知何故它没有播放 .m3u 文件,尽管它与来自苹果测试 http 直播流示例的 .m3u8 播放列表完美配合。

0 投票
7 回答
46122 浏览

iphone - 如何让我的 AVPlayer 在应用程序处于后台时播放?

我已经完成了我的作业......一直在这里阅读,文档,谷歌搜索,stackoverflowing......但是当用户让应用程序进入后台时,我仍然没有让我的声音坚持下去。

到目前为止我所做的:将 UIBackgroundModes、音频添加到 plist 文件中。

首先这段代码:

然后这个:

但是一旦用户点击主页按钮,我的声音就消失了。

我也找到了这个,但还没有添加,因为我读过的一些东西说它是不需要的;

现在我不知道我应该去哪里让我的 AVPlayer 让收音机唱歌,而用户在手机上做其他事情。我正在使用 4.2 的 iPhone 4 上对此进行测试。为 4.0 构建它。

有人对我应该做什么有任何建议吗?

0 投票
4 回答
2743 浏览

iphone - setVolume 无法在 AVMutableAudioMixInputParameters 上使用手机本地 iPod 库播放

我目前正在尝试使用 AVPlayer 而不是 MPMusicPlayerController 使用应用程序控制器从手机本地 iPod 库中播放音乐。

我可以使用 MPMediaQuery 从本地 iPod 库中选择一个音轨,但是当我尝试使用 AVMutableAudioMixInputParameters 在较低级别启动音频时,它似乎根本没有降低音量。

我使用 AVPlayer 而不是 MPMusicPlayerController 的原因是我同时在后台播放一些其他音频,而 MPMusicPlayerController 无法播放,因为使用 AVPlayer 的现有音频文件占用了硬件。我现在的代码是:

所以此时数组是我的库中的一组曲目。

现在抓住一个并使用 AVPlayer 播放它:

我可以确认在使用 AVPlayer 播放来自 URL(流)的文件时调整音量有效;只是在本地图书馆播放时不会。

我意识到我没有在这里进行任何内存管理;只是想让它首先工作。此外,本地播放器是一个属性,因此没有明确的保留。

任何帮助将不胜感激!

谢谢。

0 投票
0 回答
5397 浏览

iphone - 播放期间调整 AVPlayer 帧率

有没有办法改变播放期间帧的渲染速率?我有几个 5 秒的短视频,我想以 15、30 或 60 FPS 的速度播放。这将是用户的一个选项。

我确实在课堂上找到了一frameDuration处房产。AVVideoComposition但这所做的只是调整每秒渲染的帧数。