Stop AVPlayer Musik in einem anderen Controller
-
03-10-2019 - |
Frage
so habe ich diese Variable in meinem Delegaten namens AppDelegate.h:
AVAudioPlayer *introSound;
Es spielt kontinuierlich während der ersten Last.
[introSound stop];
Was soll ich tun ist, es von einem separaten Controller zu stoppen, firstController.m.
Ich habe versucht,
[AppDelegate.introSound stop];
aber es warf einen Fehler zu sagen:
Fehler: erwartet ':' vor '' Token
Was ist der Grund dafür?
Lösung
Ich nehme an, Sie einen Compiler-Fehler bedeuten? AppDelegate bezieht sich auf die Klasse, nicht auf die Instanz der Klasse, die Ihre Anwendung delegieren ist. Um das von jedem Ort, dies zu tun:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate.introSound stop];
Sie müssen auch sicherstellen, dass introSound eine Eigenschaft ist, nicht nur eine Instanzvariable von AppDelegate.
Andere Tipps
Mit dieser Art und Weise fangen Videos / Audios in einfachen und best.do diesen
NSMutableURLRequest *request1 = [[[NSMutableURLRequest alloc] init] autorelease];
[request1 setHTTPMethod:@"GET"];
NSError *error;
NSURLResponse *response;
NSString *documentFolderPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSFileManager *fileManager1 = [NSFileManager defaultManager];
NSString *videosFolderPath = [documentFolderPath stringByAppendingPathComponent:@"videos"];
//NSString* videosFolderPath = [@"~/Documents/bar.mp3" stringByExpandingTildeInPath];
NSLog(@"video path:%@",videosFolderPath);
//Check if the videos folder already exists, if not, create it!!!
BOOL isDir;
if (([fileManager1 fileExistsAtPath:videosFolderPath isDirectory:&isDir] && isDir) == FALSE) {
//[[NSFileManager defaultManager] createDirectoryAtPath:videosFolderPath attributes:nil];
[fileManager1 createDirectoryAtPath:videosFolderPath withIntermediateDirectories:YES attributes:nil error:nil];
}