私はクイズアプリをプログラミングしています。Menu-ViewController で、Music をプロジェクトに追加しました。musicPlayer は正常に動作しており、Menu-ViewController が前面にある限り、それを制御 (再生、一時停止、停止など) することもできます。別のViewControllerを表示すると、好きなように音楽がバックグラウンドで実行されます。しかし、2 番目の ViewController にある最初の ViewController の再生/一時停止メソッドを呼び出そうとすると、音楽は一時停止も停止もしませんでした。どうしてか分かりません!このメソッドに他の命令を追加すると、すべてうまくいきます。(メソッドを試しましたexit(0);
。これが私のコードです:
コントローラ 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 で音楽を制御したいと思います。私はあなたの助けを楽しみにしています。