【问题标题】:Playing background music across storyboard.跨故事板播放背景音乐。
【发布时间】:2014-08-08 03:37:19
【问题描述】:

在我的应用中播放背景音乐时遇到问题。

首先,我在第一个故事板视图控制器中的 ViewDidLoad 方法中启动音乐。即使我从一个页面跳转到另一个页面,它也会继续播放,使用以下代码很好

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                         pathForResource:@"background"
                                         ofType:@"mp3"]];

我的问题是,例如,如果我想在第 10 页更改音乐。如何停止我之前在第 10 页文件播放的音乐?

谢谢

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    您的确切设置不清楚。我建议您在单例对象中设置音乐,并在所有视图之间共享 AVAudioPlayer。但是,如果您想在视图之间设置它们,您可能会考虑在视图消失时停止它。

    - (void)viewWillDisappear:(BOOL)animated; 
    

    或许

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
    

    【讨论】:

    • 嗨,我还是没弄好。你有关于单例或示例的教程吗?非常感谢
    【解决方案2】:

    推荐的方法是拥有一个可以跨任何视图控制器访问的单例“播放器控制器”。具有通用播放、暂停、停止功能。您可以使用可以在运行时更改的特定 url 进行初始化(通过将 url 保留为“播放器控制器”类的属性)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多