Share via


MediaPlayer 클래스

정의

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

[Android.Runtime.Register("android/media/MediaPlayer", DoNotGenerateAcw=true)]
public class MediaPlayer : Java.Lang.Object, Android.Media.IAudioRouting, Android.Media.IVolumeAutomation, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/media/MediaPlayer", DoNotGenerateAcw=true)>]
type MediaPlayer = class
    inherit Object
    interface IAudioRouting
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IVolumeAutomation
상속
MediaPlayer
특성
구현

설명

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaPlayer는 스레드로부터 안전하지 않습니다. 플레이어 인스턴스를 만들고 플레이어 인스턴스에 대한 모든 액세스 권한은 동일한 스레드에 있어야 합니다. 콜백을 등록하는 경우 스레드에는 루퍼가 있어야 합니다.

여기서 다루는 항목은 ol>li State Diagram<li>Valid 및 Invalid States<li>Permissions<li>Register informational and error callbacks</ol입니다.><<>

<div class="special reference"><h3>Developer Guides</h3>

MediaPlayer를 사용하는 방법에 대한 자세한 내용은 미디어 재생 개발자 가이드를 참조하세요.

</Div>

"StateDiagram"><h3>상태 다이어그램</h3>

오디오/비디오 파일 및 스트림의 재생 제어는 상태 컴퓨터로 관리됩니다. 다음 다이어그램은 지원되는 재생 컨트롤 작업에 의해 구동되는 MediaPlayer 개체의 수명 주기 및 상태를 보여 줍니다. 타원은 MediaPlayer 개체가 상주할 수 있는 상태를 나타냅니다. 호는 개체 상태 전환을 구동하는 재생 컨트롤 작업을 나타냅니다. 두 가지 유형의 호가 있습니다. 단일 화살표 헤드가 있는 호는 동기 메서드 호출을 나타내고 이중 화살표 헤드가 있는 호는 비동기 메서드 호출을 나타냅니다.

<img src=".. /.. /.. /images/mediaplayer_state_diagram.gif" alt="MediaPlayer 상태 다이어그램" border="0" />

이 상태 다이어그램에서 MediaPlayer 개체의 상태는 다음과 같습니다.

<ul>li MediaPlayer 개체가 호출된 후 #reset() 또는 를 사용하여 new 만들어진 경우 이 개체는 <em>Idle</em> 상태이고 가 호출된 후에 #release() 는 <em>End</em> 상태입니다.>< 이러한 두 상태 사이에는 MediaPlayer 개체의 수명 주기가 있습니다. <ul><li>가 호출된 후 #reset() 새로 생성된 MediaPlayer 개체와 MediaPlayer 개체 간에는 미묘하지만 중요한 차이점이 있습니다. 두 경우 모두에 대해 , , , , , #prepare()#pause()#getVideoHeight()#setVolume(float, float)#getVideoWidth()#setLooping(boolean)#stop()#setAudioAttributes(AudioAttributes)#start()#seekTo(long, int)또는 #prepareAsync()<em>유휴</em> 상태와 같은 #getCurrentPosition()메서드를 호출하는 것은 프로그래밍 오류입니다. #getDuration() MediaPlayer 개체가 생성된 직후 이러한 메서드가 호출되면 사용자가 제공한 콜백 메서드 OnErrorListener.onError()는 내부 플레이어 엔진에서 호출되지 않으며 개체 상태는 변경되지 않습니다. 그러나 이러한 메서드가 바로 다음에 #reset()호출되면 사용자가 제공한 콜백 메서드 OnErrorListener.onError()가 내부 플레이어 엔진에 의해 호출되고 개체가 em>Error</em> 상태로 전송<됩니다. </li li><>MediaPlayer instance 대한 참조를 유지하여 가비지 수집을 방지해야 합니다. MediaPlayer instance 가비지 수집되면 #release 가비지 가 호출되어 진행 중인 재생이 중지됩니다. <li>메모리 및 코덱과 같은 획득된 리소스를 해제하기 위해 instance 사용을 완료한 후에는 를 호출 #release() 해야 합니다. 를 호출#release한 후에는 릴리스된 instance 더 이상 상호 작용하지 않아야 합니다. <를 사용하여 만든 li>MediaPlayer 개체는 <em>Idle</em> 상태이고, 오버로드된 편리한 create 메서드 중 하나를 사용하여 만든 개체는 em>Idle</em 상태의 <em>NOT</em>>입니다<.new 실제로 메서드를 사용하여 create 만드는 데 성공하면 개체<가 em>Prepared</em> 상태에 있습니다. </li></ul></li>><일반적으로 지원되지 않는 오디오/비디오 형식, 제대로 인터리빙되지 않은 오디오/비디오, 해상도가 너무 높음, 스트리밍 시간 제한 등과 같은 다양한 이유로 인해 일부 재생 제어 작업이 실패할 수 있습니다. 따라서 이러한 상황에서 오류 보고 및 복구는 중요한 문제입니다. 경우에 따라 프로그래밍 오류로 인해 잘못된 상태에서 재생 제어 작업을 호출할 수도 있습니다. 이러한 모든 오류 조건에서 내부 플레이어 엔진은 OnErrorListener가 를 통해 #setOnErrorListener(android.media.MediaPlayer.OnErrorListener)미리 등록된 경우 OnErrorListener.onError() 메서드를 제공한 사용자를 호출합니다. <ul><li>오류가 발생하면 애플리케이션에서 오류 수신기를 등록하지 않은 경우에도 MediaPlayer 개체<>가 em Error</em> 상태가 됩니다(위에서 설명한 경우 제외).</li li><>em> Error</em> 상태에 있는 <MediaPlayer 개체를 다시 사용하고 오류 #reset() 에서 복구하려면 를 호출하여 개체를 <em>Idle</em> 상태로 복원할 수 있습니다.</li li><>내부 플레이어 엔진에서 오류 알림을 확인하도록 애플리케이션이 OnErrorListener를 등록하도록 하는 것이 좋은 프로그래밍 방법입니다.</li><li>IllegalStateException은 , #prepareAsync()또는 오버로드된 메서드 중 하나를 잘못된 상태로 호출#prepare()하는 것과 같은 프로그래밍 오류를 방지하기 위해 throw됩니다setDataSource . </li></ul<>/li><li>Calling #setDataSource(FileDescriptor), 또는 #setDataSource(String), 또는 #setDataSource(Context, Uri)또는 또는 #setDataSource(FileDescriptor, long, long)또는 #setDataSource(MediaDataSource) 는 em Idle</em> 상태의 <MediaPlayer 개체를 em>>Initialized</em> 상태로 <전송합니다. <setDataSource()가 다른 상태에서 호출되면 ul><li>IllegalStateException이 throw됩니다.</li li><>항상 찾 IllegalArgumentException 도록 하는 것이 좋은 프로그래밍 사례이며 IOException 오버로드된 setDataSource 메서드에서 throw될 수 있습니다.</li></ul<>/li li>><MediaPlayer 개체는 재생을 <시작하기 전에 먼저 em>Prepared</em> 상태를 입력해야 합니다. <ul>li em Prepared/em> 상태에 도달할 수 있는 <두 가지 방법(동기 및 비동기)이 있습니다. 즉, 메서드 호출 #prepare() 이 반환되면 개체<를 em>Prepared</em> 상태로 전송하는 (동기) 호출 또는 먼저 개체<를 em>Prepareding/em>으로 전송하는< (비동기) 호출 #prepareAsync() 입니다.<>>< 내부 플레이어 엔진이 준비 작업이 완료될 때까지 나머지 준비 작업을 계속하는 동안 호출이 반환된 후 상태(거의 즉시 발생). 준비가 완료되거나 호출이 #prepare() 반환되면 내부 플레이어 엔진은 OnPreparedListener 인터페이스의 onPrepared() 사용자 제공 콜백 메서드를 호출합니다( OnPreparedListener가 를 통해 #setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener)미리 등록된 경우).</li li>><em>Preparing/em 상태는 일시적인 상태이며 MediaPlayer 개체가 <em>Preparing</em>> 상태에 있는 동안 부작용이 있는 메서드를 호출하는 동작은 <정의되지 않음을 유의해야< 합니다.</li li><>또는 #prepareAsync() 가 다른 상태에서 호출되면 #prepare() IllegalStateException이 throw됩니다.</li li><<> em>Prepared</em> 상태에서 오디오/사운드 볼륨, screenOnWhilePlaying, 루프와 같은 속성은 해당 집합 메서드를 호출하여 조정할 수 있습니다.</li></ul<>/li><li>재생 #start() 을 시작하려면 를 호출해야 합니다. 성공적으로 반환된 후 #start() MediaPlayer 개체는 <em>Started</em> 상태에 있습니다. #isPlaying() 을 호출하여 MediaPlayer 개체가 <em>Started</em> 상태인지 여부를 테스트할 수 있습니다. <ul><li>< em>Started</em> 상태에서 내부 플레이어 엔진은 OnBufferingUpdateListener가 를 통해 #setOnBufferingUpdateListener(OnBufferingUpdateListener)미리 등록된 경우 사용자가 제공한 OnBufferingUpdateListener.onBufferingUpdate() 콜백 메서드를 호출합니다. 이 콜백을 사용하면 애플리케이션이 오디오/비디오를 스트리밍하는 동안 버퍼링 상태 추적할 수 있습니다.</li li><>Calling #start() 은 이미 em>Started</em> 상태인 MediaPlayer 개체에 <영향을 주지 않습니다.</li>/ul<>/li li><>재생을 일시 중지하고 중지할 수 있으며 현재 재생 위치를 조정할 수 있습니다.< 재생은 을 통해 #pause()일시 중지할 수 있습니다. 에 대한 #pause() 호출이 반환되면 MediaPlayer 개체는 <em>Paused</em> 상태로 들어갑니다. em Started</em 상태에서 em>>Paused</em>> 상태로 <전환<되고 그 반대로 플레이어 엔진에서 비동기적으로 발생합니다. 에 대한 호출 #isPlaying()에서 상태가 업데이트되기까지 다소 시간이 걸릴 수 있으며 스트리밍된 콘텐츠의 경우 몇 초가 걸릴 수 있습니다. <ul><li>일시 중지된 MediaPlayer 개체에 대한 재생을 다시 시작하려면 호출 #start() 하고 다시 시작된 재생 위치는 일시 중지된 위치와 동일합니다. 에 대한 #start() 호출이 반환되면 일시 중지된 MediaPlayer 개체가 <em>Started</em> 상태로 돌아갑니다.</li li><>Calling #pause() 은 이미 em>Paused</em> 상태에 있는 MediaPlayer 개체에 <영향을 주지 않습니다.</li></ul></li<>li>Calling은 #stop() 재생을 중지하고 em>Started</em, em Paused</em<>>, <em>>Prepared </em> 또는 <em>PlaybackCompleted</em 상태의 MediaPlayer<가 em>Stopped</em>> 상태로 전환<되도록 합니다. <ul>li Em Stopped</em 상태에서 MediaPlayer <개체를 em>Prepared</em>> 상태로 다시 설정하기 위해 또는 #prepareAsync() 가 호출될 때까지 #prepare() 재생을 <시작할 수 없습니다.<>></li li><>Calling #stop() 은 이미 em>Stopped</em> 상태인 MediaPlayer 개체에 <영향을 주지 않습니다.</li></ul></li li><>에 대한 호출#seekTo(long, int)을 사용하여 재생 위치를 조정할 수 있습니다. <ul><li>비동 #seekTo(long, int) 기 호출이 즉시 반환되지만, 특히 스트리밍되는 오디오/비디오의 경우 실제 검색 작업이 완료되는 데 시간이 걸릴 수 있습니다. 실제 검색 작업이 완료되면 내부 플레이어 엔진은 OnSeekCompleteListener가 를 통해 #setOnSeekCompleteListener(OnSeekCompleteListener)미리 등록된 경우 사용자가 제공한 OnSeekComplete.onSeekComplete()를 호출합니다.</li><li>#seekTo(long, int) em Prepared</em, em>Paused</em> 및 em>>PlaybackCompleted </em <>>상태와 <같은 <다른 상태에서도 호출할 수 있습니다. #seekTo(long, int) 이 해당 상태에서 호출되면 스트림에 비디오가 있고 요청된 위치가 유효한 경우 하나의 비디오 프레임이 표시됩니다. </li li>><또한, 실제 현재 재생 위치는 에 대한 호출#getCurrentPosition()을 통해 검색할 수 있습니다. 이는 재생 진행 상황을 추적해야 하는 음악 플레이어와 같은 애플리케이션에 유용합니다.</li>/ul<>/li li><>재생이 스트림의 끝에 도달하면 재생이 완료됩니다.< <ul>li 루핑 모드가 를 사용하여 var>true</var>로 #setLooping(boolean)설정된 <경우 MediaPlayer 개체는 em>Started</em> 상태로 유지<됩니다.<></li li>><루핑 모드가 var>false </var>로 <설정된 경우 플레이어 엔진은 사용자가 제공한 콜백 메서드 OnCompletion.onCompletion()을 호출합니다( OnCompletionListener가 를 통해 #setOnCompletionListener(OnCompletionListener)미리 등록된 경우). 콜백의 호출은 개체가 이제 <em> PlaybackCompleted</em> 상태에 있음을 신호합니다.</li li><>< em>PlaybackCompleted</em> 상태에서 를 호출하면 #start() 오디오/비디오 원본의 시작 부분에서 재생을 다시 시작할 수 있습니다.</li></ul>

"Valid_and_Invalid_States"><h3>유효하고 잘못된 상태</h3>

<table border="0" cellspacing="0" cellpadding="0">tr><td>메서드 이름 </p></td td<>>유효한 상태 </p></td td>><잘못된 상태 </p/td td<>>Comments </p><></td></tr tr><><td>attachAuxEffect </p></td td<>>{Initialized, 준비됨, 시작됨, 일시 중지됨, 중지됨, 재생Completed}</p></td td><>{Idle, Error}</p/><< td td><>setDataSource 이후에 이 메서드를 호출해야 합니다. 호출해도 개체 상태는 변경되지 않습니다. </p></td></tr tr><<>td>getAudioSessionId </p></td td><>any </p></td td>{}<<>/p></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><<>td>getCurrentPosition </p></td td>><{Idle, Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td><>{Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><><td>getDuration </p></td td>><{Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td>><{Idle, Initialized, Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><<>td>getVideoHeight </p></td td>><{Idle, Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td><>{Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><<>td>getVideoWidth </p></td td>><{Idle, Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td><>{Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><><td>isPlaying </p></td td>><{Idle, Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td<>td>{Error}</p></td td><>유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><><td>pause </p></td td><>{Started, Paused, PlaybackCompleted}</p></td td><>{Idle, Initialized, Prepared, Stopped, Error}</p></td td>><올바른 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Paused</em> 상태로 전송됩니다. 이 메서드를 잘못된 상태로 호출하면 개체<가 em>Error</em> 상태로 전송됩니다.</p></td></tr tr><><td>prepare </p></td td>><{Initialized, Stopped}</p></td td><>{Idle, Prepared, Started, Paused, PlaybackCompleted, Error}</p></td td>><올바른 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Prepared</em> 상태로 전송됩니다. 잘못된 상태에서 이 메서드를 호출하면 IllegalStateException이 throw됩니다.</p></td></tr tr><><td>prepareAsync </p></td td>><{Initialized, Stopped}</p></td td><>{Idle, Prepared, Started, Paused, PlaybackCompleted, Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Prepareing</em> 상태로 전송됩니다. 잘못된 상태에서 이 메서드를 호출하면 IllegalStateException이 throw됩니다.</p></td></tr tr><<>td>release </p></td td>><any </p></td><td>{}</p></td td>><After #release(), 개체와 상호 작용하면 안 됩니다. </p></td></tr tr><><td>reset </p></td td><>{Idle, Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, Error}</p></td td>{}<></p></td td><>After #reset(), 개체는 방금 만든 것과 같습니다.</p></td></tr tr><<>td>seekTo </p></td td>><{Prepared, Started, Paused, PlaybackCompleted}</p></td td><>{Idle, Initialized, Stopped, Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체 <가 em>Error</em> 상태로 전송됩니다. </p></td></tr tr><<>td>setAudioAttributes </p></td td>><{Idle, Initialized, Stopped, Prepared, Started, Paused, PlaybackCompleted}</p></td td><>{Error}</p></td td>><이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 대상 오디오 특성 형식이 적용되려면 prepare() 또는 prepareAsync() 전에 이 메서드를 호출해야 합니다.</p></td></tr tr><<>td>setAudioSessionId /p></td td>><{Idle}</p></td td><>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, Error}</p/td td setAudioSessionId</p></td><td>이 메서드는 setDataSource를 호출하기 전에 오디오 세션 ID를 알려야 하므로 유휴 상태에서 호출되어야 합니다. 호출해도 개체 상태는 변경되지 않습니다. </p></td></tr tr><><td>setAudioStreamType(사용되지 않음)</p></td td><>{Idle, Initialized, Stopped, Prepared, Started, Paused, PlaybackCompleted}</p></td td>><{Error}</p></td td><>이 메서드의 성공적인 호출은 상태를 변경하지 않습니다. 대상 오디오 스트림 형식이 적용되려면 prepare() 또는 prepareAsync() 전에 이 메서드를 호출해야 합니다.</p></td></tr tr><<>td>setAuxEffectSendLevel </p></td td><>any</p></td td>{}<<>/p></td td>><호출 이 메서드는 개체 상태를 변경하지 않습니다. </p></td></tr tr><<>td>setDataSource </p></td td>><{Idle}</p></td td><>{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted, Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Initialized</em> 상태로 전송됩니다. 잘못된 상태에서 이 메서드를 호출하면 IllegalStateException이 throw됩니다.</p></td></tr tr><><td>setDisplay </p></td td><>any </p></td td>{}<></p></td td td><>이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><><td>setSurface </p></td td><>any </p/td td>{}<></p><></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><<>td>setVideoScalingMode </p></td td>><{Initialized, Prepared, Started, Paused, Stopped, PlaybackCompleted}</p></td td>><{Idle, Error}</p></td td>><이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다.</p></td></tr tr><<>td>setLooping </p></td td>><{Idle, Initialized, Stopped, Prepared, Started, Paused, PlaybackCompleted}</p></td td><>{Error}</p></td td>><유효한 상태에서 이 메서드를 성공적으로 호출해도 상태가 변경되지 않습니다. 이 메서드를 잘못된 상태로 호출하면 개체<가 em>Error</em> 상태로 전송됩니다.</p></td></tr tr><<>td>isLooping </p></td td><>any </p></td td>{}<<>/p></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><td>><setOnBufferingUpdateListener </p></td td><>any </p></td td>{}<<>/p></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><><td>setOnCompletionListener </p></td td td>><any </p/td td<>{}<>/><p></td td><>이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><td>><setOnErrorListener </p></td td td><>any </p/td td<>{}<>/><p></td td><>이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><<>td>setOnPreparedListener </p></td td><>any </p/td><td>{}</><p></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><td>><setOnSeekCompleteListener </p></td td><>any </p/td td>{}<></p><></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><<>td>setPlaybackParams</p></td td><>{Initialized, Prepared, Started, Paused, PlaybackCompleted, Error}</p></td td><>{Idle, Stopped}</p></td td td><>이 메서드는 호출 시기에 따라 경우에 따라 상태를 변경합니다. </p></td></tr tr><<>td>setScreenOnWhilePlaying</></td td td><>any </p></td td>>{}<</p></td td><>이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다. </p></td></tr tr><<>td>setVolume </p></td td>><{Idle, Initialized, Stopped, Prepared, Started, Paused, PlaybackCompleted}</p></td td><>{Error}</p></td td>><이 메서드의 성공적인 호출은 상태를 변경하지 않습니다. <tr><td>setWakeMode </p></td td>><any </p></td td>{}<<>/p></td td>><이 메서드는 모든 상태에서 호출할 수 있으며 호출하면 개체 상태가 변경되지 않습니다.</p></td></tr tr><<>td>start </p></td td>><{Prepared, Started, Paused, PlaybackCompleted}</p></td td><>{Idle, Initialized, Stopped, Error}</p></td td>><올바른 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Started</em> 상태로 전송됩니다. 이 메서드를 잘못된 상태로 호출하면 개체<가 em>Error</em> 상태로 전송됩니다.</p></td></tr tr><><td>stop </p></td td>><{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td td><>{Idle, Initialized, Error}</p></td td>><올바른 상태에서 이 메서드를 성공적으로 호출하면 개체<가 em>Stopped</em> 상태로 전송됩니다. 이 메서드를 잘못된 상태로 호출하면 개체<가 em>Error</em> 상태로 전송됩니다.</p></td></tr tr><<>td>getTrackInfo </p></td td><>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td td>><{Idle, Initialized, Error}</p></td td>><이 메서드의 성공적인 호출은 상태를 변경하지 않습니다.</p></td></tr tr><<>td>addTimedTextSource </p></td td><>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td td>><{Idle, Initialized, Error}</p></td td>><이 메서드의 성공적인 호출은 상태를 변경하지 않습니다.</p></td></tr tr><<>td>selectTrack </p></td td><>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td td>><{Idle, Initialized, Error}</p></td td>><이 메서드의 성공적인 호출은 상태를 변경하지 않습니다.</p></td></tr tr><<>td>deselectTrack </p></td td><>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td td>><{Idle, Initialized, Error}</p></td td>><이 메서드의 성공적인 호출은 상태를 변경하지 않습니다.</p></td></tr>

</테이블>

"Permissions"><h3>Permissions</h3>

해당 WAKE_LOCK 권한 android.R.styleable#AndroidManifestUsesPermission &lt;uses-permission&gt; 요소를 선언해야 할 수도 있습니다.

이 클래스는 android.Manifest.permission#INTERNET 네트워크 기반 콘텐츠와 함께 사용할 때 권한이 필요합니다.

"콜백"><h3>콜백</h3>

애플리케이션은 재생 또는 스트리밍 중에 일부 내부 상태 업데이트 및 가능한 런타임 오류를 알리기 위해 정보 및 오류 이벤트에 등록할 수 있습니다. 이러한 이벤트에 대한 등록은 적절한 수신기를 올바르게 설정하여 수행됩니다(#setOnPreparedListener(OnPreparedListener) setOnPreparedListener, , #setOnBufferingUpdateListener(OnBufferingUpdateListener) setOnBufferingUpdateListener#setOnErrorListener(OnErrorListener) setOnErrorListener#setOnVideoSizeChangedListener(OnVideoSizeChangedListener) setOnVideoSizeChangedListener#setOnSeekCompleteListener(OnSeekCompleteListener) setOnSeekCompleteListener#setOnCompletionListener(OnCompletionListener) setOnCompletionListener#setOnInfoListener(OnInfoListener) setOnInfoListener등). 이러한 수신기와 연결된 각 콜백을 수신하려면 애플리케이션이 자체 Looper가 실행되는 스레드에서 MediaPlayer 개체를 만들어야 합니다(기본적으로 UI 스레드에는 루퍼가 실행 중임 기본).

에 대한 Java 설명서입니다 android.media.MediaPlayer.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

MediaPlayer()

기본 생성자입니다.

MediaPlayer(Context)

컨텍스트가 있는 기본 생성자입니다.

MediaPlayer(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

필드

MediaErrorIo
사용되지 않음.

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaErrorMalformed
사용되지 않음.

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaErrorTimedOut
사용되지 않음.

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaErrorUnsupported
사용되지 않음.

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaMimetypeTextSubrip

SRT(SubRip) 컨테이너에 대한 MIME 형식입니다.

VideoScalingModeScaleToFit
사용되지 않음.

비디오 크기 조정 모드를 지정합니다.

VideoScalingModeScaleToFitWithCropping
사용되지 않음.

비디오 크기 조정 모드를 지정합니다.

속성

AudioSessionId

오디오 세션 ID를 반환합니다. -또는- 오디오 세션 ID를 설정합니다.

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
CurrentPosition

현재 재생 위치를 가져옵니다.

Duration

파일의 기간을 가져옵니다.

Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
IsPlaying

MediaPlayer가 재생되고 있는지 확인합니다.

JniIdentityHashCode

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
JniPeerMembers

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

Looping

MediaPlayer가 루핑 중인지 아니면 반복이 아닌지 확인합니다. -또는- 플레이어를 루핑 또는 비루핑으로 설정합니다.

Metrics

현재 플레이어에 대한 메트릭 데이터를 반환합니다.

PeerReference

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
PlaybackParams

현재 재생 속도를 포함하는 재생 매개 변수를 가져옵니다. -또는- 를 사용하여 PlaybackParams재생 속도를 설정합니다.

PreferredDevice

에서 지정한 선택한 출력을 #setPreferredDevice반환합니다.

RoutedDevice

AudioDeviceInfo 이 MediaPlayer 참고의 현재 라우팅을 식별하는 를 반환합니다. 쿼리는 MediaPlayer가 현재 재생 중인 경우에만 유효합니다.

SyncParams

A/V 동기화 모드를 가져옵니다. -또는- A/V 동기화 모드를 설정합니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

Timestamp

현재 재생 위치를 로 가져옵니다 MediaTimestamp.

VideoHeight

비디오의 높이를 반환합니다.

VideoWidth

비디오의 너비를 반환합니다.

메서드

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

AudioRouting.OnRoutingChangedListener 추가하여 이 MediaPlayer에서 라우팅 변경 내용에 대한 알림을 받습니다.

AddTimedTextSource(Context, Uri, String)

외부 시간 제한 텍스트 원본 파일(Uri)을 추가합니다.

AddTimedTextSource(FileDescriptor, Int64, Int64, String)

외부 시간 제한 텍스트 파일(FileDescriptor)을 추가합니다.

AddTimedTextSource(FileDescriptor, String)

외부 시간 제한 텍스트 원본 파일(FileDescriptor)을 추가합니다.

AddTimedTextSource(String, String)

외부 시간 제한 텍스트 원본 파일을 추가합니다.

AttachAuxEffect(Int32)

플레이어에 보조 효과를 연결합니다.

ClearOnMediaTimeDiscontinuityListener()

이전에 로 설정된 수신기를 지웁니다.#setOnMediaTimeDiscontinuityListener(OnMediaTimeDiscontinuityListener) 또는 #setOnMediaTimeDiscontinuityListener(OnMediaTimeDiscontinuityListener, Handler)

ClearOnSubtitleDataListener()

또는 #setOnSubtitleDataListener(OnSubtitleDataListener, Handler)로 이전에 설정된 수신기를 #setOnSubtitleDataListener(OnSubtitleDataListener) 지웁니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Create(Context, Int32)

지정된 리소스 ID에 대한 MediaPlayer를 만드는 편리한 방법입니다.

Create(Context, Int32, AudioAttributes, Int32)

그러나 와 동일한 팩터리 메서드 #create(Context, int) 를 사용하면 새 MediaPlayer instance 사용할 오디오 특성 및 세션 ID를 지정할 수 있습니다.

Create(Context, Uri)

지정된 Uri에 대한 MediaPlayer를 만드는 편의 메서드입니다.

Create(Context, Uri, ISurfaceHolder)

지정된 Uri에 대한 MediaPlayer를 만드는 편의 메서드입니다.

Create(Context, Uri, ISurfaceHolder, AudioAttributes, Int32)

그러나 와 동일한 팩터리 메서드 #create(Context, Uri, SurfaceHolder) 를 사용하면 새 MediaPlayer instance 사용할 오디오 특성 및 세션 ID를 지정할 수 있습니다.

CreateVolumeShaper(VolumeShaper+Configuration)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

DeselectTrack(Int32)

트랙을 선택 취소합니다.

Dispose()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetDrmInfo()

현재 원본과 연결된 DRM 정보를 검색합니다.

GetDrmPropertyString(String)

속성 이름 문자열이 지정된 DRM 엔진 플러그 인 String 속성 값을 읽습니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetKeyRequest(Byte[], Byte[], String, MediaDrmKeyType, IDictionary<String,String>)

암호화된 콘텐츠의 암호를 해독하는 데 사용되는 키를 가져오거나 해제하기 위해 앱과 라이선스 서버 간에 키 요청/응답 교환이 발생합니다.

GetSelectedTrack(MediaTrackType)

재생을 위해 현재 선택된 오디오, 비디오 또는 자막 트랙의 인덱스 반환, 반환 값은 에서 반환된 배열의 #getTrackInfo()인덱스이며 또는 #deselectTrack(int)호출 #selectTrack(int) 에 사용할 수 있습니다.

GetTrackInfo()

트랙 정보의 배열을 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Pause()

재생을 일시 중지합니다.

Prepare()

플레이어의 재생을 동기적으로 준비합니다.

PrepareAsync()

플레이어를 비동기적으로 재생할 준비를 합니다.

PrepareDrm(UUID)

현재 원본에 대한 DRM 준비

ProvideKeyResponse(Byte[], Byte[])

앱에서 라이선스 서버에서 키 응답을 받은 다음 provideKeyResponse를 사용하여 DRM 엔진 플러그 인에 제공됩니다.

Release()

이 MediaPlayer 개체와 연결된 리소스를 해제합니다.

ReleaseDrm()

DRM 세션을 해제합니다.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

AudioRouting.OnRoutingChangedListener 경로 변경 알림을 받기 위해 이전에 추가된 을 제거합니다.

Reset()

MediaPlayer를 초기화되지 않은 상태로 다시 설정합니다.

RestoreKeys(Byte[])

지속형 오프라인 키를 새 세션으로 복원합니다.

SeekTo(Int32)

지정된 시간 위치를 찾습니다.

SeekTo(Int64, MediaPlayerSeekMode)

지정된 모드를 고려하여 미디어를 지정된 시간 위치로 이동합니다.

SelectTrack(Int32)

트랙을 선택합니다.

SetAudioAttributes(AudioAttributes)

이 MediaPlayer의 오디오 특성을 설정합니다.

SetAudioStreamType(Stream)

이 MediaPlayer의 오디오 스트림 유형을 설정합니다.

SetAuxEffectSendLevel(Single)

플레이어의 보내기 수준을 연결된 보조 효과로 설정합니다.

SetDataSource(AssetFileDescriptor)

사용할 데이터 원본(AssetFileDescriptor)을 설정합니다.

SetDataSource(Context, Uri)

데이터 원본을 콘텐츠 Uri로 설정합니다.

SetDataSource(Context, Uri, IDictionary<String,String>)

데이터 원본을 콘텐츠 Uri로 설정합니다.

SetDataSource(Context, Uri, IDictionary<String,String>, IList<HttpCookie>)

데이터 원본을 콘텐츠 Uri로 설정합니다.

SetDataSource(FileDescriptor)

사용할 데이터 원본(FileDescriptor)을 설정합니다.

SetDataSource(FileDescriptor, Int64, Int64)

사용할 데이터 원본(FileDescriptor)을 설정합니다.

SetDataSource(MediaDataSource)

사용할 데이터 원본(MediaDataSource)을 설정합니다.

SetDataSource(String)

사용할 데이터 원본(파일 경로 또는 http/rtsp URL)을 설정합니다.

SetDataSourceAsync(AssetFileDescriptor)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(Context, Uri)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(Context, Uri, IDictionary<String,String>)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(Context, Uri, IDictionary<String,String>, IList<HttpCookie>)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(FileDescriptor)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(FileDescriptor, Int64, Int64)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(MediaDataSource)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDataSourceAsync(String)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SetDisplay(ISurfaceHolder)

SurfaceHolder 미디어의 비디오 부분을 표시하는 데 사용할 를 설정합니다.

SetDrmPropertyString(String, String)

DRM 엔진 플러그 인 String 속성 값을 설정합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetNextMediaPlayer(MediaPlayer)

이 MediaPlayer가 재생을 완료할 때 시작되도록 MediaPlayer를 설정합니다(i.

SetOnBufferingUpdateListener(MediaPlayer+IOnBufferingUpdateListener)

네트워크 스트림 버퍼의 상태 변경될 때 호출할 콜백을 등록합니다.

SetOnCompletionListener(MediaPlayer+IOnCompletionListener)

재생 중에 미디어 원본의 끝에 도달했을 때 호출할 콜백을 등록합니다.

SetOnDrmConfigHelper(MediaPlayer+IOnDrmConfigHelper)

세션을 만들기 전에 DRM 개체의 구성을 위해 호출할 콜백을 등록합니다.

SetOnDrmInfoListener(MediaPlayer+IOnDrmInfoListener)

DRM 정보가 알려진 경우 호출할 콜백을 등록합니다.

SetOnDrmInfoListener(MediaPlayer+IOnDrmInfoListener, Handler)

DRM 정보가 알려진 경우 호출할 콜백을 등록합니다.

SetOnDrmPreparedListener(MediaPlayer+IOnDrmPreparedListener)

DRM 개체가 준비될 때 호출할 콜백을 등록합니다.

SetOnDrmPreparedListener(MediaPlayer+IOnDrmPreparedListener, Handler)

DRM 개체가 준비될 때 호출할 콜백을 등록합니다.

SetOnErrorListener(MediaPlayer+IOnErrorListener)

비동기 작업 중에 오류가 발생했을 때 호출할 콜백을 등록합니다.

SetOnInfoListener(MediaPlayer+IOnInfoListener)

정보/경고를 사용할 수 있을 때 호출할 콜백을 등록합니다.

SetOnMediaTimeDiscontinuityListener(MediaPlayer+IOnMediaTimeDiscontinuityListener)

미디어 시간 불연속성이 발생할 때 호출할 수신기를 설정합니다.

SetOnMediaTimeDiscontinuityListener(MediaPlayer+IOnMediaTimeDiscontinuityListener, Handler)

미디어 시간 불연속성이 발생할 때 호출할 수신기를 설정합니다.

SetOnPreparedListener(MediaPlayer+IOnPreparedListener)

미디어 원본을 재생할 준비가 되면 호출할 콜백을 등록합니다.

SetOnSeekCompleteListener(MediaPlayer+IOnSeekCompleteListener)

검색 작업이 완료되면 호출할 콜백을 등록합니다.

SetOnSubtitleDataListener(MediaPlayer+IOnSubtitleDataListener)

자막 트랙에 사용할 수 있는 새 데이터가 있을 때 호출할 수신기를 설정합니다.

SetOnSubtitleDataListener(MediaPlayer+IOnSubtitleDataListener, Handler)

자막 트랙에 사용할 수 있는 새 데이터가 있을 때 호출할 수신기를 설정합니다.

SetOnTimedMetaDataAvailableListener(MediaPlayer+IOnTimedMetaDataAvailableListener)

선택한 트랙에 시간이 초과된 메타데이터를 사용할 수 있을 때 호출할 콜백을 등록합니다.

SetOnTimedTextListener(MediaPlayer+IOnTimedTextListener)

시간 제한 텍스트를 표시할 수 있을 때 호출할 콜백을 등록합니다.

SetOnVideoSizeChangedListener(MediaPlayer+IOnVideoSizeChangedListener)

비디오 크기를 알거나 업데이트할 때 호출할 콜백을 등록합니다.

SetPreferredDevice(AudioDeviceInfo)

이 MediaPlayer의 출력을 AudioDeviceInfo 라우팅할 오디오 디바이스(개체를 통해)를 지정합니다.

SetScreenOnWhilePlaying(Boolean)

비디오 재생이 발생하는 동안 연결된 SurfaceHolder를 사용하여 화면을 켜야 하는지 여부를 제어합니다.

SetSurface(Surface)

Surface 미디어의 비디오 부분에 대한 싱크로 사용할 를 설정합니다.

SetVideoScalingMode(VideoScalingMode)

비디오 크기 조정 모드를 설정합니다.

SetVolume(Single, Single)

이 플레이어의 볼륨을 설정합니다.

SetWakeMode(Context, WakeLockFlags)

이 MediaPlayer에 대한 하위 수준 전원 관리 동작을 설정합니다.

Start()

재생을 시작하거나 다시 시작합니다.

Stop()

재생이 시작되거나 일시 중지된 후 재생을 중지합니다.

ToArray<T>()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

이벤트

BufferingUpdate

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

Completion

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

DrmInfoEvent

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

DrmPrepared

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

Error

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

Info

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

MediaTimeDiscontinuity

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

Prepared

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

RoutingChanged

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SeekComplete

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

SubtitleData

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

TimedMetaDataAvailable

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

TimedText

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

VideoSizeChanged

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

명시적 인터페이스 구현

IJavaPeerable.Disposed()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

GetJniTypeName(IJavaPeerable)

MediaPlayer 클래스를 사용하여 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다.

적용 대상