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 не является потокобезопасной. Создание и все доступы к экземплярам проигрывателя должны находиться в одном потоке. При регистрации обратных вызовов поток должен иметь циклизатор.
Здесь рассматриваются разделы: <ol><li>State Diagram<li>Valid and Invalid State Permissions><li Permissions<li>Register информационной и error callbacks</ol>
<div class="special reference"><h3 Developer Guides</h3>>
Дополнительные сведения об использовании MediaPlayer см. в руководстве разработчика воспроизведения мультимедиа.
</div>
"StateDiagram"><h3 State Diagram</h3>>
Управление воспроизведением звуковых и видеофайлов и потоков управляется как компьютер с состоянием. На следующей схеме показаны жизненный цикл и состояния объекта MediaPlayer, управляемые поддерживаемыми операциями управления воспроизведением. Овалы представляют состояния, в которые может находиться объект MediaPlayer. Дуги представляют операции управления воспроизведением, которые управляют переходом состояния объекта. Существует два типа дуг. Дуги с одной головой со стрелкой представляют синхронные вызовы метода, а те с двойной головой стрелки представляют асинхронные вызовы метода.
<img src=".. /.. /.. /images/mediaplayer_state_diagram.gif" alt="Схема состояния MediaPlayer" border="0" />
На этой схеме состояния можно увидеть, что объект MediaPlayer имеет следующие состояния:
<ul>li, когда объект MediaPlayer только что создается с помощью new
или после #reset()
вызова, он находится в <состоянии em>Idle</em>; и после #release()
вызова он находится в <состоянии em>End</em>.>< Между этими двумя состояниями является жизненный цикл объекта MediaPlayer. <ul><li>Существует тонкое, но важное различие между вновь созданным объектом MediaPlayer и объектом MediaPlayer после #reset()
вызова. Это ошибка программирования для вызова таких методов, как #getCurrentPosition()
, #getDuration()
#getVideoWidth()
#setLooping(boolean)
#setVolume(float, float)
#setAudioAttributes(AudioAttributes)
#pause()
#seekTo(long, int)
#prepare()
#stop()
#getVideoHeight()
#start()
или #prepareAsync()
в <состоянии em>Idle</em> для обоих случаев. Если любой из этих методов вызывается сразу после создания объекта MediaPlayer, пользователь предоставил метод обратного вызова OnErrorListener.onError() не будет вызываться внутренним обработчиком проигрывателя, а состояние объекта остается неизменным; но если эти методы вызываются сразу после #reset()
этого, пользователь предоставил метод обратного вызова OnErrorListener.onError() будет вызываться внутренним обработчиком проигрывателя, и объект будет передан в <состояние em>Error</em> . </li><вы>должны сохранить ссылку на экземпляр MediaPlayer, чтобы предотвратить сбор мусора. Если экземпляр MediaPlayer собирается мусор, #release
будет вызван, что приведет к остановке любого постоянного воспроизведения. <li>Необходимо вызвать #release()
после завершения использования экземпляра для выпуска приобретенных ресурсов, таких как память и кодеки. После вызова #release
вы больше не должны взаимодействовать с выпущенным экземпляром. <объекты li>MediaPlayer, созданные с помощьюnew
, находятся в <состоянии em>Idle/em>, а созданные с одним из перегруженных удобных create
методов — <em>NOT</em> в <состоянии em>Idle<</em>. На самом деле объекты находятся в <состоянии em>Prepared</em> , если создание с помощью create
метода выполнено успешно. </li></ul<>/li li><в>целом некоторые операции управления воспроизведением могут завершиться сбоем из-за различных причин, таких как неподдерживаемый аудио-видеоформат, плохо чередуемый аудио/видео, разрешение слишком высокое, время ожидания потоковой передачи и подобное. Таким образом, отчеты об ошибках и восстановление являются важной проблемой в этих обстоятельствах. Иногда из-за ошибок программирования может также возникнуть вызов операции управления воспроизведением в недопустимом состоянии. Во всех этих условиях подсистема внутреннего проигрывателя вызывает метод OnErrorListener.onError(), если onErrorListener был зарегистрирован заранее #setOnErrorListener(android.media.MediaPlayer.OnErrorListener)
. <ul>li Важно отметить, что после возникновения ошибки объект MediaPlayer вводит <состояние em>Error</em> (за исключением указанного выше), даже если прослушиватель ошибок не зарегистрирован в приложении.<></li li><>Для повторного использования объекта MediaPlayer, который находится в <состоянии em> Error</em> и восстанавливается после ошибки, #reset()
можно вызвать для восстановления объекта в его <состоянии em>Idle</em.<>/li li><>рекомендуется программировать, чтобы приложение зарегистрировалось в OnErrorListener, чтобы искать уведомления об ошибках из внутреннего обработчика проигрывателя.<Вызывается исключение /li><>IllegalStateException, чтобы предотвратить ошибки программирования, такие как вызов#prepare()
, #prepareAsync()
или один из перегруженных setDataSource
методов в недопустимом состоянии. </li>/ul<>/li><>Calling#setDataSource(FileDescriptor)
, or , or , or #setDataSource(Context, Uri)
#setDataSource(String)
или , или #setDataSource(MediaDataSource)
#setDataSource(FileDescriptor, long, long)
или передает объект MediaPlayer в состоянии <em>Idle</em> в <состояние em>Initialized</em.>< <ul><li>An IllegalStateException создается, если setDataSource() вызывается в любом другом состоянии.</li li><>Это хорошая практика программирования, чтобы всегда искать IllegalArgumentException
и IOException
что может быть вызвано из перегруженных setDataSource
методов.<Объект /li></ul></li><>A MediaPlayer должен сначала ввести <состояние em>Prepared</em> перед началом воспроизведения. <ul>li Существует два способа (синхронное и асинхронное) состояние <em>Prepared</em> можно достичь: либо вызов #prepare()
(синхронный), который передает объект в состояние em>Prepared</em> после возврата вызова метода, либо вызов #prepareAsync()
(асинхронный), который сначала передает объект <<в em>Подготовка</em>>< состояние после возврата вызова (которое происходит почти сразу) в то время как внутренний обработчик проигрывателя продолжает работать над остальной частью работы подготовки до завершения работы подготовки. Когда подготовка завершается или когда #prepare()
вызов возвращается, внутренний обработчик проигрывателя вызывает предоставленный пользователем метод обратного вызова onPrepared() интерфейса OnPreparedListener, если onPreparedListener зарегистрирован заранее.#setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener)
</li li><>Важно отметить, что <состояние em>Подготовки< и эм> является временным состоянием, и поведение вызова любого метода с побочным эффектом, а объект MediaPlayer находится в <состоянии em>Подготовки< и em> не определен.</li><an>IllegalStateException вызывается, если #prepare()
или #prepareAsync()
вызывается в любом другом состоянии.</li li><>в <состоянии em>Prepared</em>, свойства, такие как громкость звука и звука, screenOnTimePlaying, можно настроить, вызвав соответствующие методы набора.</li></ul></li li><>, чтобы начать воспроизведение, #start()
необходимо вызвать. После #start()
успешного <возвращения объект MediaPlayer находится в состоянии em>Started</em> . #isPlaying()
можно вызвать, чтобы проверить, находится ли объект MediaPlayer в <состоянии em>Started</em> . <ul>li В то время как в <состоянии em>Started</em> внутренний обработчик проигрывателя вызывает пользователя, предоставленный OnBufferingUpdateListener.onBufferingUpdate(), если метод обратного вызова OnBufferingUpdateListener был зарегистрирован заранее через#setOnBufferingUpdateListener(OnBufferingUpdateListener)
.>< Этот обратный вызов позволяет приложениям отслеживать состояние буферизации во время потоковой передачи звука и видео.<Вызов /li>>#start()
< не влияет на объект MediaPlayer, который уже находится в <состоянии em>Started</em.<>Воспроизведение /li></ul></li><>может быть приостановлено и остановлено, а текущая позиция воспроизведения может быть изменена. Воспроизведение можно приостановить с помощью #pause()
. При возврате вызова #pause()
объект MediaPlayer вводит <состояние em>Paused</em> . Обратите внимание, что переход от <состояния em>Started</em> к <состоянию em>Paused</em> и наоборот происходит асинхронно в обработчике проигрывателя. Может потребоваться некоторое время, прежде чем состояние обновляется в вызовах #isPlaying()
, и это может быть несколько секунд в случае потокового содержимого. <Вызов ul><li>#start()
для возобновления воспроизведения для приостановленного объекта MediaPlayer, и возобновленное положение воспроизведения совпадает с местом приостановки. Когда вызов #start()
возвращается, приостановленный объект MediaPlayer возвращается в <состояние em>Started</em>.<Вызов /li>>#pause()
< не влияет на объект MediaPlayer, который уже находится в <состоянии em>Paused</em.<>/li>/ul<>/li<>Li>Вызов #stop()
останавливает воспроизведение и приводит к тому, что mediaPlayer в <>em Started</em, em Paused</>em>, <<>em>Prepared </em> или <emPlayCompleted</>em>состояние введите <состояние em>Остановлено</em.>< <ul>li Один раз в <состоянии em>Stopped</em> воспроизведение не может быть запущено до тех пор, #prepareAsync()
пока #prepare()
или вызывается, чтобы задать объект MediaPlayer для <состояния em>Prepared</em> еще раз.<><Вызов /li>>#stop()
< не влияет на объект MediaPlayer, который уже находится в <состоянии em>Stopped</em.<>/li>/ul<>/li li><>Положение воспроизведения можно настроить с помощью вызова#seekTo(long, int)
.< <ul><li>Хотя асинчронный #seekTo(long, int)
вызов возвращается сразу, фактическая операция поиска может занять некоторое время, особенно для потоковой передачи звука или видео. После завершения фактической операции поиска внутренний обработчик проигрывателя вызывает пользователя, предоставленного OnSeekComplete.onSeekComplete(), если onSeekCompleteListener был зарегистрирован заранее.#setOnSeekCompleteListener(OnSeekCompleteListener)
</li li><>обратите внимание, что #seekTo(long, int)
можно также вызывать в других состояниях, таких как <em>Prepared</em>, <em>Paused</em> и <em PlaybackCompleted </em>> State. При #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" cellpacing="0" cellpadding="0">tr td>Method Name </p></>><td td Valid States /p></><>td td invalid States <</p></<>>td Comments </p><></td/tr><<>td>attachAuxEffect </p></>><td td{Initialized, Подготовка, запуск, приостановка, остановка, воспроизведениеcompleted}</p></td td><>{бездействия, ошибка}</p/><><< Td td><>This method должен вызываться после 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, Startedd, Paused, Stopped, PlaybackCompleted}</p/td><td>{Error}</p><></td><>этот метод в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td getDuration </p></td><td>>{Prepared, Startedd, Paused, Stopped, PlaybackCompleted}</p></td<>td>{Idle, Initialized, Error}</p></td td td><>Успешное вызов этого метода в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td getVideoHeight </p></td><td>>{Idle, Initialized, Startedd, Paused, Paused, PlaybackCompleted}/p/td<>td>{Error}<</p><></td td td><>этот метод в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td getVideoWidth </p></td<>td>>{Idle, Initialized, Startedd, Paused, Paused, PlaybackCompleted}</p></td<>td>{Error}</p></td><>этот метод в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td isPlaying </p></td<>>td>{Idle, Initialized, Started, Paused, Paused,PlayCompleted}/p></td<>td>{Error}<</p></td><>этот метод в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td pause </p></td><td>>{Started, Paused, PlaybackCompleted}</p></td><td>{Idle, Initialized, Prepared, Error}</p></td td td<>>успешное вызов этого метода в допустимом состоянии передает объект в <состояние em>Paused</em.> Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em>.</p></td></tr tr><><td prepare </p></td><td>>{Initialized, Stopped}</><p/td<>td>{Idle, Prepare, Started, Paused, PlaybackCompleted, Error}</p></td td td>><успешное вызов этого метода в допустимом состоянии передает объект <в состояние em>Prepare</em.> Вызов этого метода в недопустимом состоянии вызывает исключение IllegalStateException.</p></td></tr tr>><<td prepareAsync </p></td<>td>>{Initialized, Остановлено}</p></td><>{Idle, Prepare, Started, Paused, PlaybackCompleted, Error}</p></td td td<>>успешное вызов этого метода в допустимом состоянии передает объект <в состояние em>Prepare</em.> Вызов этого метода в недопустимом состоянии вызывает исключение IllegalStateException.</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, Started, Paused, Stopped, PlaybackCompleted, Error}</p/td td>{}</p><></td><td td>><After #reset()
, как только что создается объект.</p></td></tr tr>><<td seekTo </p></td><td>{Prepared, Started, Paused, PlaybackCompleted}</p></td<>>td>{Idle, Initialized, Остановлено, Error}</p></td td td><>успешное вызов этого метода в допустимом состоянии не изменяет состояние. Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em> . </p></td></tr tr><><td setAudioAttributes </p></td>><>{Idle, Initialized, Stopped, Startedd, Startedd, Paused, PlaybackCompleted}/p></td<>td>{Error}<</p></td td td>><этот метод не изменяет состояние. Чтобы целевой тип звуковых атрибутов стал эффективным, этот метод должен вызываться перед подготовкой () или prepareAsync().</p></td></tr tr><><td setAudioSessionId </p></td>><>{Idle}</p></td><td>{Initialized, Prepared, Startedd, Paused, Stopped, PlaybackCompleted, Error}</p></td td td><>Этот метод должен вызываться в состоянии простоя, так как идентификатор звукового сеанса должен быть известен перед вызовом setDataSource. Вызов не изменяет состояние объекта. </p></td/tr tr>><<td setAudioStreamType (нерекомендуемый)</p></><>td><>{Idle, Initialized, Stopped, Started, Paused, PlaybackCompleted}</p></td<>td>{Error}</p></td td><>успешное вызов этого метода не изменяет состояние. Чтобы целевой тип аудиопотока стал эффективным, этот метод должен вызываться перед подготовкой () или 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, Started, Paused, Paused, PlaybackCompleted, Error}</p></td<>>успешное вызов этого метода в допустимом состоянии передает объект <в состояние em>Initialized</em.> Вызов этого метода в недопустимом состоянии вызывает исключение IllegalStateException.</p></td></tr tr>><<td setDisplay </p></td<>>td>any </p></<>td td>{}</p></><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><>>{Initialized, Startedd, Paused, Paused, PlaybackCompleted}</p></td><td>{Idle, Error}</p></td td td<>>успешное вызов этого метода не изменяет состояние.</p></td></tr tr><><td setLooping </p></td><td>>{Idle, Initialized, Stopped, Started, Startedd, Paused, PlaybackCompleted}</p></td<>td>{Error}</p></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>any </p></td><td>{}</p></td td><>Этот метод может вызываться в любом состоянии и вызывать его не изменяет состояние объекта. </p></td></tr tr><><td setOnErrorListener </p></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, Started, Paused,PlayCompleted, Error}</p/td<>td>{Id, Остановлено}</p><></td td td><>Этот метод в некоторых случаях изменит состояние в зависимости от того, когда он вызывается. </p></td></tr tr><><td setScreenOnTimePlaying</></td<>>td>any </p/td<>td>{}</p><></td td><>Этот метод можно вызывать в любом состоянии и вызывать его не изменяет состояние объекта. </p></td></tr tr>><<td setVolume </p></td><td>>{Idle, Initialized, Stopped, Started, Startedd, Paused, PlaybackCompleted}</p/td><td>{Error}</p><></td><>успешное вызов этого метода не изменяет состояние. <tr><td>setWakeMode </p></td td><>any </p/td td>{}</p><></><td><td>Этот метод можно вызывать в любом состоянии и вызывать его не изменяет состояние объекта.</p></td></tr tr>><<td start </p></td><td>>{Prepared, Startedd, PlaybackCompleted}</p></td>>< td{Idle, Initialized, Error}</p></td td td><>успешное вызов этого метода в допустимом состоянии передает объект в <состояние em>< Started/em.> Вызов этого метода в недопустимом состоянии передает объект в <состояние em>Error</em>.</p></td></tr tr>><<td stop </p></td><> td>{Prepared, Startedd, Stopd, PlaybackCompleted}</p></td><td>{Idle, Initialized, Error}</p></td<>>успешное вызов этого метода в допустимом состоянии передает объект в <состояние em>Stopd</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 td>><успешное вызов этого метода не изменяет состояние.</p></td></tr tr>><<td addTimedTextSource </p></td<>td>>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td<>td>{Idle, Initialized, Error}</p></td td td>><успешное вызов этого метода не изменяет состояние.</p></td></tr tr><><td selectTrack </p></td><td>>{Prepared, Startedd, Paused, PlaybackCompleted}</p></td><td>{Idle, Initialized, Error}</p></td<>>Успешное вызов этого метода не изменяет состояние.</p></td></tr tr><><td deselectTrack </p></td><td>{Prepared, Started, Stopped, Paused, PlaybackCompleted}</p></td>><td>{Idle, Initialized, Error}</p></td<>>успешное вызов этого метода не изменяет состояние.</p></td></tr>
</стол>
"Разрешения"><h3 Permissions</h3>>
Может потребоваться объявить соответствующий элемент разрешения android.R.styleable#AndroidManifestUsesPermission <uses-permission>
WAKE_LOCK.
Для этого класса требуется android.Manifest.permission#INTERNET
разрешение при использовании с содержимым на основе сети.
"Обратные вызовы"><h3 Callbacks</h3>>
Приложения могут зарегистрироваться для информационных событий и событий ошибок, чтобы получать сведения о некоторых внутренних обновлениях состояния и возможных ошибках среды выполнения во время воспроизведения или потоковой передачи. Регистрация этих событий выполняется путем правильной настройки соответствующих прослушивателей (через вызовы #setOnPreparedListener(OnPreparedListener) setOnPreparedListener
, #setOnVideoSizeChangedListener(OnVideoSizeChangedListener) setOnVideoSizeChangedListener
, #setOnSeekCompleteListener(OnSeekCompleteListener) setOnSeekCompleteListener
, #setOnBufferingUpdateListener(OnBufferingUpdateListener) setOnBufferingUpdateListener
#setOnCompletionListener(OnCompletionListener) setOnCompletionListener
#setOnInfoListener(OnInfoListener) setOnInfoListener
#setOnErrorListener(OnErrorListener) setOnErrorListener
и т. д.). Чтобы получить соответствующий обратный вызов, связанный с этими прослушивателями, приложения необходимы для создания объектов MediaPlayer в потоке с собственным запуском Looper (основной поток пользовательского интерфейса по умолчанию имеет запуск Looper).
Документация по Java для android.media.MediaPlayer
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
MediaPlayer() |
Конструктор по умолчанию. |
MediaPlayer(Context) |
Конструктор по умолчанию с контекстом. |
MediaPlayer(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Поля
MediaErrorIo |
Устаревшие..
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
MediaErrorMalformed |
Устаревшие..
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
MediaErrorTimedOut |
Устаревшие..
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
MediaErrorUnsupported |
Устаревшие..
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
MediaMimetypeTextSubrip |
Тип MIME для контейнера SubRip (SRT). |
VideoScalingModeScaleToFit |
Устаревшие..
Задает режим масштабирования видео. |
VideoScalingModeScaleToFitWithCropping |
Устаревшие..
Задает режим масштабирования видео. |
Свойства
AudioSessionId |
Возвращает идентификатор звукового сеанса. -или- Задает идентификатор сеанса звука. |
Class |
Возвращает класс среды выполнения этого |
CurrentPosition |
Возвращает текущую позицию воспроизведения. |
Duration |
Возвращает длительность файла. |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
IsPlaying |
Проверяет, воспроизводит ли MediaPlayer. |
JniIdentityHashCode |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
JniPeerMembers |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
Looping |
Проверяет, является ли MediaPlayer циклом или не циклом. -или- Задает для проигрывателя циклирование или не циклирование. |
Metrics |
Возвращать данные метрик о текущем проигрывателе. |
PeerReference |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
PlaybackParams |
Получает параметры воспроизведения, содержащие текущую скорость воспроизведения. -или- задает частоту воспроизведения с помощью |
PreferredDevice |
Возвращает выбранные выходные данные, указанные в |
RoutedDevice |
Возвращает идентифицировать текущую |
SyncParams |
Возвращает режим синхронизации A/V. -или- Задает режим синхронизации A/V. |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Timestamp |
Получение текущей |
VideoHeight |
Возвращает высоту видео. |
VideoWidth |
Возвращает ширину видео. |
Методы
AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler) |
|
AddTimedTextSource(Context, Uri, String) |
Добавляет внешний исходный файл с временем (URI). |
AddTimedTextSource(FileDescriptor, Int64, Int64, String) |
Добавляет внешний текстовый файл с временем (FileDescriptor). |
AddTimedTextSource(FileDescriptor, String) |
Добавляет внешний исходный файл с временем (FileDescriptor). |
AddTimedTextSource(String, String) |
Добавляет внешний исходный файл с временем. |
AttachAuxEffect(Int32) |
Присоединяет вспомогательный эффект к игроку. |
ClearOnMediaTimeDiscontinuityListener() |
Очищает прослушиватель, заданный ранее с помощью |
ClearOnSubtitleDataListener() |
Очищает прослушиватель, заданный ранее или |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Create(Context, Int32) |
Удобный метод для создания MediaPlayer для заданного идентификатора ресурса. |
Create(Context, Int32, AudioAttributes, Int32) |
Тот же метод фабрики, что |
Create(Context, Uri) |
Удобный метод для создания MediaPlayer для заданного URI. |
Create(Context, Uri, ISurfaceHolder) |
Удобный метод для создания MediaPlayer для заданного URI. |
Create(Context, Uri, ISurfaceHolder, AudioAttributes, Int32) |
Тот же метод фабрики, что |
CreateVolumeShaper(VolumeShaper+Configuration) |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |
DeselectTrack(Int32) |
Отмените выбор дорожки. |
Dispose() |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
Dispose(Boolean) |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
GetDrmInfo() |
Извлекает сведения о DRM, связанные с текущим источником |
GetDrmPropertyString(String) |
Чтение значения свойства string подключаемого модуля модуля DRM, учитывая строку имени свойства. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
GetKeyRequest(Byte[], Byte[], String, MediaDrmKeyType, IDictionary<String,String>) |
Обмен ключами запроса и ответа между приложением и сервером лицензирования для получения или выпуска ключей, используемых для расшифровки зашифрованного содержимого. |
GetSelectedTrack(MediaTrackType) |
Возвращает индекс аудио, видео или подзаголовок, выбранный в настоящее время для воспроизведения, возвращаемое значение является индексом в массиве, возвращаемом |
GetTrackInfo() |
Возвращает массив данных отслеживания. |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Pause() |
Приостанавливает воспроизведение. |
Prepare() |
Подготавливает проигрыватель к воспроизведению, синхронно. |
PrepareAsync() |
Подготавливает проигрыватель к воспроизведению, асинхронно. |
PrepareDrm(UUID) |
Подготовка DRM для текущего источника |
ProvideKeyResponse(Byte[], Byte[]) |
Ключ ответа получает от сервера лицензий приложением, а затем он предоставляется подключаемого модуля обработчика DRM с помощью provideKeyResponse. |
Release() |
Освобождает ресурсы, связанные с этим объектом MediaPlayer. |
ReleaseDrm() |
Выпуск сеанса DRM |
RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener) |
Удаляет объект |
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) |
Задает используемый источник данных (путь к файлу или URL-адрес http/rtsp). |
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) |
Задает значение, используемое |
SetDrmPropertyString(String, String) |
Задайте значение свойства string подключаемого модуля модуля DRM. |
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) |
Указывает звуковое устройство (через |
SetScreenOnWhilePlaying(Boolean) |
Определите, следует ли использовать подключенный SurfaceHolder для сохранения экрана во время воспроизведения видео. |
SetSurface(Surface) |
|
SetVideoScalingMode(VideoScalingMode) |
Задает режим масштабирования видео. |
SetVolume(Single, Single) |
Задает том на этом проигрывателе. |
SetWakeMode(Context, WakeLockFlags) |
Задайте низкоуровневый режим управления питанием для этого MediaPlayer. |
Start() |
Запускает или возобновляет воспроизведение. |
Stop() |
Останавливает воспроизведение после запуска или приостановки воспроизведения. |
ToArray<T>() |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Класс MediaPlayer можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. (Унаследовано от Object) |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</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 можно использовать для управления воспроизведением звуковых и видеофайлов и потоков. |