Hallo spielt Ich habe eine iOS Objective-C-App, die Storyboards nicht verwenden (Es verwendet XIB-Dateien)AVPlayer auf ios Objective C app nicht Video
Ich möchte ein Video einen Begrüßungsbildschirm hinzufügen zu spielen, damit ich hat eine neue Coca Touch-Klasse hinzugefügt, die von UIViewController abgeleitet wurde (und 'Ich erstelle auch XIB-Datei' angekreuzt).
Ich habe diese Klasse als meinen neuen Hauptbildschirm getauscht und es lädt richtig, aber das Video nicht abgespielt. Ich habe das AVFoundation-Framework usw. hinzugefügt, das ist also kein Problem.
Hier ist mein Code.
.h Datei
#import <UIKit/UIKit.h>
@interface VideoIntroViewController : UIViewController
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@end
.m-Datei
import <AVFoundation/AVFoundation.h>
static const float PLAYER_VOLUME = 0.0;
@interface VideoIntroViewController()
@property (nonatomic) AVPlayer *player;
@property (weak, nonatomic) IBOutlet UIView *playerView;
@end
@implementation VideoIntroViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self createVideoPlayer];
}
- (void)createVideoPlayer
{
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"welcome_video" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:filePath];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
self.player.volume = PLAYER_VOLUME;
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.videoGravity = UIViewContentModeScaleToFill;
playerLayer.frame = self.playerView.layer.bounds;
[self.playerView.layer addSublayer:playerLayer];
[self.player play];
}
Der Bildschirm gestartet, aber keine Videospiele.
Was könnte schief gehen?
Welches Debugging haben Sie durchgeführt? Was passiert eigentlich zur Laufzeit in der 'createVideoPlayer' Methode? Welchen Rahmen hast du 'playerLayer.frame' zugewiesen? Ist alles "Null"? – rmaddy
Ich debugge im Simulator, nichts ist Null in createVideoPlayer. Ich sehe im Debug-Ausgabefenster viele AQDefaultDevice überspringen Eingangsstrom 0 0 0x0 Nachrichten. –