(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器

Posted

技术标签:

【中文标题】(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器【英文标题】:(iOS) Audio player as child viewcontroller on all parent view controllers in the app 【发布时间】:2014-01-17 14:21:39 【问题描述】:

我正在为 ios 开发这款音乐流媒体应用程序。一切都很好,但还没有实现音频播放器功能。我正在处理一些关于如何在整个应用程序的所有视图控制器中拥有与子视图控制器相同的音频播放器的问题。我不太确定,但我认为我必须使用单例?

当我更改视图控制器时,如何将音频播放器设置为相同?

【问题讨论】:

是的,单例在这种情况下是最好的,继续实现它。 【参考方案1】:

您需要正确使用术语和概念。音频播放器不是视图控制器,因此它不会是任何东西的子视图控制器。

您要做的是创建一个声音管理器对象并使其成为单例。 (对 Cocoa 中的单例设计模式进行谷歌搜索)。

单例通常有一个类方法可以让你获取它:

+ (MySoundManager *) sharedSoundManager;

  static dispatch_once_t once;
  static id _theSharedSoundManager;
  dispatch_once(&once, ^
    _theSharedSoundManager = [[self alloc] init];
  );

  return _theSharedSoundManager;

在您的 VC 中,您会通过如下调用获得指向共享声音管理器的指针:

[MySoundManager sharedSoundManager];

然后将方法添加到您的声音管理器中,以根据其客户的要求播放声音。

【讨论】:

你是对的,我在这种情况下使用错误的术语很糟糕,因为我当然是指音频播放器作为一个类;)。无论如何,感谢您为我指明正确的方向!

以上是关于(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

返回另一个视图控制器IOS7后如何暂停音频一次

程序员面试闪充 -- iOS音视频

录制的音频无法在设备上播放,但不能在 iOS 模拟器上播放

从该音频ViewController IOS7返回后如何停止音频

无法通过扬声器播放视频音频 - iOS

iOS音频播放录音视频播放拍照视频录制