Управление воспроизведением звука
Эта статья описывает, как управлять воспроизведением звука с помощью NSSound
класс.
Запуск, приостанавливаясь, возобновляясь и отменяя воспроизведение звука
Игра аудиоданных с помощью NSSound
класс очень прост; методы экземпляра обеспечивают управление передачей. Перечисление 1 показывает несколько методов действия, управляющих воспроизведением звука.
Перечисление 1 , Управляющее воспроизведением звука
- (IBAction) playSound:(id)sender |
{ |
if (loaded && ![sound isPlaying]) { |
[sound play]; |
[infoTextField setStringValue:@"Playback in progress"]; |
} |
} |
- (IBAction) pauseSound:(id)sender |
{ |
[sound pause]; |
[infoTextField setStringValue:@"Playback paused"]; |
} |
- (IBAction) resumeSound:(id)sender |
{ |
[sound resume]; |
[infoTextField setStringValue:@"Playback resumed"]; |
} |
- (IBAction) stopSound:(id)sender |
{ |
[sound stop] |
[infoTextField setStringValue:@"Playback canceled"]; |
} |
Обнаружение, играет ли звук
isPlaying
метод говорит Вам, играет ли звук, как показано в Перечислении 2.
Перечисление 2 , Определяющее, играет ли звук
- (IBAction) isSoundPlaying:(id)sender |
{ |
if ([sound isPlaying]) |
[infoTextField setStringValue:@"The sound is playing"]; |
else |
[infoTextField setStringValue:@"The sound is not playing"]; |
} |
Обнаружение, когда звук закончил играть
Перечисление 3 показывает реализацию в качестве примера sound:didFinishPlaying:
метод делегата, который вызывают, когда звук заканчивает играть.
Перечисление 3 , Выполняющее действие, когда звук заканчивает играть
- (void) sound:(NSSound *)sound didFinishPlaying:(BOOL)playbackSuccessful |
{ |
if (playbackSuccessful) { |
[infoTextField setStringValue:@"Playback ended successfully"]; |
} |
else { |
[infoTextField setStringValue:@"Playback ended abnormally"]; |
} |
} |