Я использую плагин Phonegap SoundPlug для управления моим звуком в этой HTML5-игре, которую я создаю, и, хотя у нее есть способ воспроизвести звук, у него нет никаких методов дляостановить звук.Функция воспроизведения вызывается из javascript вашего приложения с PhoneGap.exec («SoundPlug.play», «sound.wav»).Соответствующий код выглядит следующим образом:
- (void) play:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{
NSBundle * mainBundle = [NSBundle mainBundle];
NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[(NSString*)[arguments objectAtIndex:0] componentsSeparatedByString:@"/"]];
NSString *filename = [directoryParts lastObject];
[directoryParts removeLastObject];
NSMutableArray *filenameParts = [NSMutableArray arrayWithArray:[filename componentsSeparatedByString:@"."]];
NSString *directoryStr = [directoryParts componentsJoinedByString:@"/"];
NSString *filePath = [mainBundle pathForResource:(NSString*)[filenameParts objectAtIndex:0]
ofType:(NSString*)[filenameParts objectAtIndex:1]
inDirectory:directoryStr];
SystemSoundID soundID;
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
AudioServicesCreateSystemSoundID((CFURLRef)fileURL, &soundID);
AudioServicesPlaySystemSound(soundID);
}
К сожалению, я ничего не знаю об Obj-C, поэтому я не уверен, как написать для этого подходящую функцию остановки.(Точная ситуация, с которой я пытаюсь справиться, это когда игрок хочет отключить все звуки бега.)