Hallo liebe Entwickler,
ich habe folgendes Problem. Es wurde zwar schon das ein oder andere mal angesprochen, aber zu einer wirklichen Lösung ist es meines Erachtens noch nicht gekommen (korrigiert mich bitte, wenn ich mich irre).
Ich bin hier ein Frischling und hoffe, ich verstoße gegen keine Regeln oder ähnliches
(ansonsten einfach Bescheid sagen)
Mein Ziel ist es, zwei Videos über zwei verschiedene Views starten zu können (per jeweiligem Button). Das Problem dabei ist, dass mir das 1. Video abbricht, wenn ich das 2. über den Knopf starten will und ebenso anders herum, sprich: "Ich kann nicht beide Videos gleichzeitig laufen lassen!". Und das ist ziemlich ärgerlich, daher bitte ich euch, mir zu helfen.
Vielleicht hat jemand eine Idee, wie man es hinbekommen könnte?!
Mein Code ist ziemlich simple gestrickt: (zu meiner Verteidigung:"Ich bin Anfänger! :whistling:" )
In der Header-Datei werden lediglich die beiden Views deklariert und zwei IBActions für die Buttons:
IBOutlet UIView *movie1View;
IBOutlet UIView *movie2View;
- (IBAction)playMovie1: (id)sender;
- (IBAction)playMovie2: (id)sender;
In der Main-Datei habe ich zweimal folgende Methode enthalten (die zweite Methode ist der selbe Text, nur die "1" durch eine "2" ersetzt):
-(IBAction)playMovie1: (id)sender {
NSString *filepath1 = [[NSBundle mainBundle] pathForResource:@"spot" ofType:@"mp4"];
NSURL *fileURL1 = [NSURL fileURLWithPath:filepath1];
MPMoviePlayerController *moviePlayerController1 = [[MPMoviePlayerController alloc] initWithContentURL:fileURL1];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete: )
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController1];
[moviePlayerController1. view setFrame:movie1View.bounds];
[movie1View addSubview:moviePlayerController1.view];
[moviePlayerController1 play];
}
Ebenso gibt es noch die Notification:
- (void)moviePlaybackComplete: (NSNotification *)notification {
MPMoviePlayerController *moviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
[moviePlayerController release];
}
Ich dachte mir in meinem jugendlichen Leichtsinn, dass ich jegliche Instanzen zweimal erstelle, aber irgendwie funktioniert das nicht!
Meine Fragen also:
(1) Funktioniert es überhaupt, zwei Videos parallel laufen zu lassen?
(2) Wenn ja, worauf muss ich achten bzw. was mache ich falsch?
(3) Kann es vielleicht auch mit -(void) dealloc o.ä. zusammenhängen?
(4) Gäbe es eine andere Möglichkeit ein Video in einem View (oder was anderes, was NICHT im Vollbild-Modus präsentiert wird) anzeigen zu lassen, neben der MPMoviePlayerController-Klasse?
(5) Wozu genau ist dieser Bedankomat eigentlich? Habe spontan nichts in der Hilfe gefunden!
Ich bedanke mich schonmal im Voraus für eure Hilfe!
ich habe folgendes Problem. Es wurde zwar schon das ein oder andere mal angesprochen, aber zu einer wirklichen Lösung ist es meines Erachtens noch nicht gekommen (korrigiert mich bitte, wenn ich mich irre).
Ich bin hier ein Frischling und hoffe, ich verstoße gegen keine Regeln oder ähnliches

Mein Ziel ist es, zwei Videos über zwei verschiedene Views starten zu können (per jeweiligem Button). Das Problem dabei ist, dass mir das 1. Video abbricht, wenn ich das 2. über den Knopf starten will und ebenso anders herum, sprich: "Ich kann nicht beide Videos gleichzeitig laufen lassen!". Und das ist ziemlich ärgerlich, daher bitte ich euch, mir zu helfen.
Vielleicht hat jemand eine Idee, wie man es hinbekommen könnte?!
Mein Code ist ziemlich simple gestrickt: (zu meiner Verteidigung:"Ich bin Anfänger! :whistling:" )
In der Header-Datei werden lediglich die beiden Views deklariert und zwei IBActions für die Buttons:
IBOutlet UIView *movie1View;
IBOutlet UIView *movie2View;
- (IBAction)playMovie1: (id)sender;
- (IBAction)playMovie2: (id)sender;
In der Main-Datei habe ich zweimal folgende Methode enthalten (die zweite Methode ist der selbe Text, nur die "1" durch eine "2" ersetzt):
-(IBAction)playMovie1: (id)sender {
NSString *filepath1 = [[NSBundle mainBundle] pathForResource:@"spot" ofType:@"mp4"];
NSURL *fileURL1 = [NSURL fileURLWithPath:filepath1];
MPMoviePlayerController *moviePlayerController1 = [[MPMoviePlayerController alloc] initWithContentURL:fileURL1];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete: )
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController1];
[moviePlayerController1. view setFrame:movie1View.bounds];
[movie1View addSubview:moviePlayerController1.view];
[moviePlayerController1 play];
}
Ebenso gibt es noch die Notification:
- (void)moviePlaybackComplete: (NSNotification *)notification {
MPMoviePlayerController *moviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
[moviePlayerController release];
}
Ich dachte mir in meinem jugendlichen Leichtsinn, dass ich jegliche Instanzen zweimal erstelle, aber irgendwie funktioniert das nicht!
Meine Fragen also:
(1) Funktioniert es überhaupt, zwei Videos parallel laufen zu lassen?
(2) Wenn ja, worauf muss ich achten bzw. was mache ich falsch?
(3) Kann es vielleicht auch mit -(void) dealloc o.ä. zusammenhängen?
(4) Gäbe es eine andere Möglichkeit ein Video in einem View (oder was anderes, was NICHT im Vollbild-Modus präsentiert wird) anzeigen zu lassen, neben der MPMoviePlayerController-Klasse?
(5) Wozu genau ist dieser Bedankomat eigentlich? Habe spontan nichts in der Hilfe gefunden!
Ich bedanke mich schonmal im Voraus für eure Hilfe!