引用iOS TabController应用...
Apple文档指出,AVAudioPlayer类不支持基于HTTP URL的流音频。 AVAudioPlayer仅播放以file://为网址的iApp中嵌入的音乐。
鉴于此,我确实使用MPMoviePlayerViewController播放了它可以处理的这些网络存储的音频/ mp3文件。
这绝对有效。我先从带有歌曲歌词的UIView开始。此UIView的最底部是“播放”按钮。用户点击此按钮,音频/ mp3播放;但是,音频/ QuickTime((Q))图形出现在前台,并且歌词消失,并且会一直保留到用户点击“完成”为止。我想发生的是,音频/ mp3在后台播放,而歌词仍在前面。
顺便说一句,我真的不需要看到“完成”按钮,因为用户只需选择另一个选项卡就可以停止音频。
显然,将背景转到AV文件是有意义的,因为MPMoviePlayerController对象旨在播放视频,并且视频应该放在最前面。一致之处在于音频也进入背景..除了我需要一种方法来击败音频/ QuickTime((Q))图形。
我确实插入了代码来确定它是音频文件(mp3),还是视频文件(mp4)。到目前为止一切顺利……如果这是一个音频文件,在我的实际播放片段中,我将:
if ( NSClassFromString(@"MPMoviePlayerViewController") )
{
if (!isAudioFile)
{
[senderViewController
presentMoviePlayerViewControllerAnimated:moviePlayerViewController_];
}
}
[moviePlayerController_ play];
它实际上是有效的,也就是说,我实际上在后台听到了mp3,前面是歌词,并且音频/ QuickTime((Q))图形没有显示...
,但是,发生的事情太可怕了,也就是说,“Done”按钮显示在歌词上,这是我在某种未知的情况下谈论的?那里的信件。
最佳答案
以下答案来自对该问题的编辑:
if ( NSClassFromString(@"MPMoviePlayerViewController") )
{
if (!isAudioFile)
{
[senderViewController
presentMoviePlayerViewControllerAnimated:moviePlayerViewController_];
}
else
{
[moviePlayerController_ setControlStyle:MPMovieControlStyleNone];
}
}
FWIW,我真的不需要“Done”按钮,因为一旦我转到另一个标签(新音乐或视频),最初播放的音乐就会停止,新的AV文件就会开始。
关于audio - 用MPMoviePlayerViewController播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987297/