2009-05-12 4 views
1

MPMoviePlayerを使用してMP3ファイルをストリーミングしていて、デフォルトのQuicktimeロゴの代わりにイメージをバックグラウンドで表示したいと考えています。MPMoviePlayerオーディオアルバムアート

画像がプレーヤーにオーバーレイされる方法を見つけましたが、その問題は、プレーヤーのコントロールが表示されるように画像の外側をタップする必要があることです。彼らが現れたとき、彼らはイメージの下にいます。

誰かがこれを行う方法を知っていますか?

おかげで、 ジョン

答えて

0

ほとんどのiPhone上のすべてのアプリはビューの階層で構成されています。ムービープレーヤの最上位のルートノードに移動し、子ビューを再帰的に歩き、適切なアイテムを見つけるまでhiddenの値をYESに設定してから、そのアイテムの下にUIImageViewを挿入します。そうすれば、コントロールは一番上に留まり、依然としてユーザー入力に応答します。

あなたが実行するリスクは、AppleがMPMoviePlayerのUIを変更して表示階層をシャッフルする場合ですが、多くの事前の通知があり、新しいレイアウトを許可するようにアプリを修正することができます。

これはAppstoreアプリのために正当なものかどうかという疑問がありますが、多くの現在のアプリ(特にカメラ/写真撮影アプリ)は標準のウィンドウ要素を取り除くためにアプリを実行しています。

+0

あなたが深さの最初の検索を行う場合、あなたが訪問する最初の1つは、サブビューとしてUIImageViewを追加したいものが見つかりました。 – mclin

0

AVAudioPlayerを使用し、独自のプレーヤーUIを実装します。

0

それがこの

MPMoviePlayerController *moviePlayerController=[[MPMoviePlayerController alloc] initWithContentURL:theURL]; 
moviePlayerController.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default.png"]]; 
2

のbackgroundColorをチェック動作しますが非推奨、およびプライベートビュー構造へのダイビングは危険です。これは私のためにうまくいった:

 UIImageView *coverImageView = [[UIImageView alloc] initWithImage:coverImage]; 
     coverImageView.contentMode = UIViewContentModeScaleAspectFit; 
     coverImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 
     coverImageView.frame = moviePlayerController.view.bounds; 
     [moviePlayerController.view addSubview:coverImageView]; 
関連する問題