好吧我有兩個問題。我正在使用AVAudioPlayer以.caf格式播放簡單的音頻文件。我想要做的是有一個播放和暫停按鈕。以下是一個簡單的IBAction的示例,用於播放按鈕中的音頻。使用AVAudioPlayer幫助停止音頻
- (IBAction) clear {
NSString *path = [[NSBundle mainBundle] pathForResource:@"clear" ofType:@"caf"];
AVAudioPlayer* myAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
myAudio.delegate = self;
myAudio.volume = 1.0;
myAudio.numberOfLoops = 0;
[myAudio play];
}
所以,當我繼續前進,創建另一個IBAction爲與方法...
- (IBAction) stopaudio {
[myAudio stop];
audioPlayer.currentTime = 0;
}
我編譯的Xcode告訴我,myAudio在stopaudio IBAction爲沒有定義。我如何解決這個問題,以便能夠在另一個IBAction中訪問myAudio?
我的第二個問題是,我使用NavigationController來設置一個TableView,當我做出選擇時,它會帶我到一個帶有後退按鈕的UIView,以返回到TableView。我試圖做的是當我回到TableView時,殺掉任何在UIView中播放的音頻。上面的代碼是我將在UIView中使用的代碼的一部分。
另外一個簡單的問題。比方說,我有一個1分鐘長的音頻文件。在舊實例播放之前,再次單擊播放將重疊該音頻的新實例。如何檢查myAudio是否正在播放,並在myAudio播放完畢之前不允許再次播放?
謝謝!
你應該遵循他們所使用的命名約定,這樣stopaudio會stopAudio。 – Sneakyness