ios - m3u8 音频流在 MPMoviePlayerController 中播放但不是 AVPlayer?
<p><p>我有点迷失了这个。我有一个类需要播放音频和视频文件或流。它有一个完全自定义的 UI,所以我为此使用 AVPlayer。</p>
<p>有一个实时音频流无法播放。每次AVPlayerItem观察者触发AVPlayerItemStatusFailed,AVPlayer的error为nil。</p>
<p>但是当我尝试在 MPMoviePlayerController 或 Safari 或 Chrome 中播放相同的音频流时,它工作得很好。这非常奇怪,因为 MPMoviePlayerController 在内部使用了 AVPlayer。</p>
<p>这是失败的实时音频流的 URL:<a href="http://bit.ly/1gIqjV6" rel="noreferrer noopener nofollow">http://bit.ly/1gIqjV6</a> </p>
<p>我的 AVPlayer 代码(不适用于 URL)</p>
<pre><code>_currentItem = [ initWithURL:];
;
_avPlayer = [ initWithPlayerItem:self.currentItem];
[ addObserver:self selector:@selector(itemDidFinishPlaying:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.currentItem];
</code></pre>
<p>AVPlayerItem 观察者</p>
<pre><code>-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (])
{
if ()
{
switch (.status) {
case AVPlayerItemStatusReadyToPlay:
NSLog(@"AVPlayerItemStatusReadyToPlay");
break;
case AVPlayerItemStatusFailed:
// The live audio stream always fails, error is always nil
NSLog(@"AVPlayerItemStatusFailed");
NSError* error = self.avPlayer.error;
break;
case AVPlayerItemStatusUnknown:
NSLog(@"AVPlayerItemStatusUnknown");
break;
}
}
}
}
</code></pre>
<p>使用 MPMoviePlayerController(与 URL 配合使用)</p>
<pre><code>MPMoviePlayerViewController* controller = [ initWithContentURL:];
;
</code></pre>
<p>有没有人遇到过这样的问题?
提前致谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>看起来这是您的 m3u8 播放列表。我尝试了一个带有简单 AVPlayer 的空白项目,当测试流(“<a href="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" rel="noreferrer noopener nofollow">http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8</a>”)以及 <em>your</em> m3u8 文件中的“hi”和“lo”流正常工作时,创建了带有 m3u8 文件的 AVPlayerItem 总是失败。 </p>
<p>m3u8中的diff如下:</p>
<p>你的:</p>
<pre><code>#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=35200, CODECS="mp4a.40.2"
</code></pre>
<p>苹果的样本:</p>
<pre><code>#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=200000
</code></pre>
<p>您还有其他 m3u8 播放列表要测试吗?</p></p>
<p style="font-size: 20px;">关于ios - m3u8 音频流在 MPMoviePlayerController 中播放但不是 AVPlayer?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/22772065/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/22772065/
</a>
</p>
页:
[1]