参考iOS TabController app ...
Apple文档声明AVAudioPlayer类不支持基于HTTP URL的流式音频。 AVAudioPlayer仅播放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))图形都没有显示......
但是,发生了什么是可怕的,也就是说,“完成”按钮显示在歌词我谈到了某种未知的???那里的信件。
答案 0 :(得分:0)
以下答案取自对问题的编辑:
if ( NSClassFromString(@"MPMoviePlayerViewController") )
{
if (!isAudioFile)
{
[senderViewController
presentMoviePlayerViewControllerAnimated:moviePlayerViewController_];
}
else
{
[moviePlayerController_ setControlStyle:MPMovieControlStyleNone];
}
}
FWIW,我真的不需要“完成”按钮,因为只要我转到另一个标签,无论是新音乐还是视频,最初播放的音乐都会停止,新的AV文件会启动。