播放和停止声音(2 views)

时间:2012-05-11 12:20:46

标签: iphone ios xcode sdk audio

如何从第一个视图中的按钮播放声音,然后从另一个视图(使用按钮)停止

3 个答案:

答案 0 :(得分:1)

首先要明确您要停止来自其他视图的声音而不是查看控制器。

如果你想从其他视图停止,那么将音频播放器作为你的类对象,在其他视图的按钮方法中停止它。

如果要从其他视图控制器停止,请使用委派。

答案 1 :(得分:1)

轻松自在!首先添加AVFoundation框架并实现AVAudioPlayer。您可以查看有关如何播放音乐/声音的文档和其他堆栈溢出问题。然后在一个类中将该AVAudioPlayer设为属性。然后通过调用[audioPlayer stop]声明一个停止声音的方法,也值得一提的是[audioPlayer pause] // and [audioPlayer play]也存在。或者,您可以通过另一个类指向此类本身的指针来调用这些消息。然后在另一个类中,声明一个IBAction,它有一个指向另一个类的指针,并向该类发送一条消息,告诉它执行stop方法。很简单,这是一个结构:

  1. 在FirstView中,声明播放音乐的AVAudioPlayer属性
  2. 在FirstView中,声明一个停止方法
  3. 实施停止方法
  4. 使用将页面更改为SecondView的IBAction方法声明并绘制UIButton
  5. 在SecondView viewDidLoad方法中,添加并绘制一个链接到调用stop方法的IBAction的UIButton,或只是调用[FirstView audioPlayer] stop];或类似的东西!
  6. 记住要遵守代表!重要!

    您可以参考AVAUDIOPLAYER CODE的建议问题!

    iPhone/iPad - Loop Background Music?

    但请记住,不要直接复制此代码,记住属性,你显然有参数修改。对不起,如果我听起来太明显,只是你的问题是如此模糊,我不知道你是不是一个初学者!

答案 2 :(得分:0)

使用收听自定义通知的课程播放您的播放器 e.g:

#define PlayerPlayNotification @"PlayerPlayNotification"
#define PlayerStopNotification @"PlayerStopNotification"

然后每个按钮都可以发送所需的通知,以便在不知道实际玩家或有任何指针的情况下开始/停止游戏。