我正在編寫一個Quiz-App。在Menu-ViewController中,我將Music添加到項目中。 MusicPlayer運行良好,只要Menu-ViewController在前面,我也可以控制它(播放,暫停,停止等)。當我顯示另一個ViewController時,音樂將在後臺運行,就像我想要的那樣。但是,如果嘗試調用第二個ViewController中第一個ViewController的播放/暫停方法,那麼音樂將暫停或停止。我不知道爲什麼!如果我將其他說明添加到此方法,一切都會好起來的。 (我試過exit(0);
方法這是我的代碼:iOS:控制另一個視圖(控制器)的AudioPlayer
控制器1個.H:
@implementation MenuViewController : <....> {
... }
@property (retain) AVAudioPlayer *backgroundPlayer;
- (void) playPauseMethod;
控制器1個.M:
@interface ...
@end
@implementation MenuViewController
@ synthesize
- (void) soundChanger {
if (hintergrundPlayer.isPlaying) {
[backgroundPlayer pause];}
else if (!backgroundPlayer.isPlaying) {
[backgroundPlayer play];}}
控制器2·H:
#import "MenuViewController.h"
@interface QuizViewController : UIViewController{}
控制器2的.m:
@interface ...
@end
@implementation MenuViewController
@ synthesize ...
//..... musicPlayer is playing music.
- (IBAction)myMusic:(id)sender {
//first try:
[[[MenuViewController alloc] init].backgroundPlayer pause];
//second try:
[[[MenuViewController alloc] init] soundChanger];}
我想在每個ViewController中控制音樂。我期待着您的幫助。
Thx爲答案!在這種情況下,如何向此代理髮送消息? – user2191303 2013-04-10 12:17:56
我在答案中增加了一些。希望有所幫助。對代表們來說可能值得一讀,以及如何最好地在類之間來回發送消息。 – Mike 2013-04-10 17:03:41