audio - 用MPMoviePlayerViewController播放音频

标签 audio mpmovieplayercontroller

引用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/

相关文章:

c++ - 使用 Chromaprint 时的空白声学指纹

javascript - 两个音频文件一一播放

android - 控制Android的震动

java - 安卓 : How to play a sound depending on the button that is pressed?

ios - MPMoviePlayer 在查找文件时播放音频但不播放视频

ios - 如何使状态栏在 iOS 的 MPMoviePlayerController 中不消失?

audio - OSX声音输出分配在两个USB设备上

iphone - 在 MPMoviePlayerController 中播放 mov 文件时出现问题

iPhone - 全屏和状态栏的典型问题

objective-c - 以编程方式显示 MPMoviePlayerController 中的控件