ムービー プレーヤーの音量バーを非表示にして、他のコントロールを表示したままにするにはどうすればよいですか (再生、転送 ...) ? 音のない動画を見せたいので、音量バーが全く使い物になりません。
私はこれを行うことができますか?
前もって感謝します
ムービー プレーヤーの音量バーを非表示にして、他のコントロールを表示したままにするにはどうすればよいですか (再生、転送 ...) ? 音のない動画を見せたいので、音量バーが全く使い物になりません。
私はこれを行うことができますか?
前もって感謝します
controlStyle
の を に設定 MPMoviePlayer
しMPMovieControlStyleNone
ます。
moviePlayer.controlStyle = MPMovieControlStyleNone;
ただし、これにより、ビューからすべてのコントロールが非表示になります。
に設定した後MPMovieControlStyleNone
、再生/一時停止オプションとシーク バーを表示する場合は、カスタム コントロールを追加する必要があります。(私は以前にそれを行いました.スライダーをシークバーとして使用UIToolBar
し、ツールバーボタンと一緒に配置しました。ボタンは再生/一時停止オプション用です)
MPMovieControlStyle
再生コントロールのスタイルを記述する定数。
enum { MPMovieControlStyleNone, MPMovieControlStyleEmbedded,
MPMovieControlStyleFullscreen, MPMovieControlStyleDefault = MPMovieControlStyleFullscreen }; typedef NSInteger MPMovieControlStyle;定数
MPMovieControlStyleNone
No controls are displayed. Available in iOS 3.2 and later. Declared in MPMoviePlayerController.h.
MPMovieControlStyleEmbedded
Controls for an embedded view are displayed. The controls include a start/pause button, a scrubber bar, and a button for toggling
フルスクリーン表示モードと埋め込み表示モードの間。
Available in iOS 3.2 and later. Declared in MPMoviePlayerController.h.
MPMovieControlStyleFullscreen
Controls for fullscreen playback are displayed. The controls include a start/pause button, a scrubber bar, forward and reverse
検索ボタン、全画面表示モードと埋め込み表示モードを切り替えるボタン、アスペクト フィル モードを切り替えるボタン、および完了ボタン。完了ボタンをタップすると、ビデオが一時停止し、フルスクリーン モードが終了します。
Available in iOS 3.2 and later. Declared in MPMoviePlayerController.h.
MPMovieControlStyleDefault
Fullscreen controls are displayed by default. Available in iOS 3.2 and later. Declared in MPMoviePlayerController.h.
サブビューを「ハッキング」する以外にこれを行う方法はありません。MPMoviePlayerViewController をサブクラス化し、サブビューを繰り返すことができます。私のアプリの 1 つで、次のようなコードを使用して、メディア コントロールなどを削除しました。
- (void)removeMediaControls
{
@try
{
// Search for the MPSwipeableView
for (UIView *view1 in [self.view subviews])
{
// Check for the MPSwipeableView
if ([[[view1 class] description] isEqualToString:@"MPSwipableView"])
{
// Search for the MPVideoBackgroundView
for (UIView *view2 in [view1 subviews])
{
// Check for the MPVideoBackgroundView
if ([[[view2 class] description] isEqualToString:@"MPVideoBackgroundView"])
{
// Search for the UIView
for (UIView *view3 in [view2 subviews])
{
// Check for the MPWildcatFullScreenVideoOverlay
if ([[[view3 class] description] isEqualToString:@"MPWildcatFullScreenVideoOverlay"])
{
// Search for the MPWildcatFullScreenNavigationBar
for (UIView *view4 in [view3 subviews])
{
// Check for the UIImageView
if ([[[view4 class] description] isEqualToString:@"UIImageView"])
{
// Remove the overlay
[view4 removeFromSuperview];
}
}
}
}
}
}
}
}
}
@catch (NSException * e)
{
}
}
上記のコードは古すぎるため、iOS 4.3 で動作しました。iOS 5 と iOS 6 ではビュー階層が変更されたため、新しい iOS バージョンごとにコードを更新する必要がある場合があります。こちらもご覧ください: MPMoviePlayerController 音量スライダーを隠す