0

aac ファイルをダウンロードし、次のコードを使用して MPMoviePlayerController で再生しています

movieController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:self.filePath]];
[self.view addSubview:movieController.view];
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
movieController.view.frame = CGRectMake(0,0,screenSize.width, screenSize.height);
[movieController setFullscreen:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doneBtnMediaPlayer:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];

movieController は (nonatomic,strong) クラス プロパティです。

これは、iOS 5 (および iOS 5 シミュレーター) を除くすべての iOS で正常に機能します。iOS 5 では、黒い画面が表示され、ファイルがバックグラウンドで再生されます。

私が気付いたもう1つのことは、既存のアプリでアプリケーションを実行すると、iOS5でも正常に動作することです。しかし、デバイスからアプリを削除して実行すると、その時点で黒い画面が表示されます。

4

1 に答える 1

1

これが役立つかどうかを確認してください:

これはヘッダー (.h) ファイルです #import #import

@interface ViewController : UIViewController

@property(nonatomic,retain)MPMoviePlayerViewController *playerController;

@end

これが実装ファイルです (.m) #import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize playerController;

- (void)viewDidLoad
{
    [super viewDidLoad];
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"gold etche" ofType:@"mov"]];
playerController = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:playerController];
[self.view insertSubview:playerController.view atIndex:0];
playerController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
playerController.moviePlayer.controlStyle = MPMovieControlStyleDefault;
playerController.moviePlayer.scalingMode = MPMovieScalingModeNone;

[playerController.moviePlayer play];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];

}

@end

これを IOS 5 (5.0 および 5.1) および IOS 6 でテストしましたが、すべて問題ないようです

于 2012-12-06T13:59:05.680 に答える