Androidは、デフォルトでは多くのメディアファイル形式(.mkvなどのファイル)をサポートしていません。しかし、MXPlayerやMoboPlayerのようなプレーヤーでは、このようなファイルを再生することができます。これらのアプリケーションはどのように機能しますか? プログラミングのチュートリアルや記事の仕方を説明していますか?MXPlayerやMoboPlayerなどのMedia PlayerのAndroidアプリは、MKVなどのサポートされていないファイル形式をどのように再生しますか?
答えて
Androidはデフォルトですべてのメディア形式をサポートしているわけではありません。したがって、サポートされていないフォーマットをサポートするために、MoboPlayerのようなアプリケーションは、JNIを介してJavaとネイティブコードの組み合わせを使用して標準のメディアプレーヤータスクを実行します。
さらに詳しく知りたい場合は、メディアプレーヤーがメディアファイルを再生する方法と、AndroidのアプリのようなMoboPlayerでメディアファイルを再生する方法を見てみましょう。
Typical tasks of a Media Player
プレイヤーは、(b)は、ビデオおよびオーディオ(c)は、映像を表示し、音声を再生するデコードファイル形式DEMUX、次のタスク(A)を実行し、ビデオ/オーディオを抽出する必要があります。 MoboPlayerのようなプレーヤーの場合、これらの3つの領域をどのように処理できるかを考えてみましょう。
File format Demux
のAndroidは、デフォルトでは、すべてのファイル形式のコンテナをサポートしていません。たとえば、ASF(WMVファイルのファイル形式)はサポートされていません。したがって、プレーヤーは仕事をするためにそれ自身のデマルチプレクサを持つ必要があります。 libavformat(FFMPEGで使用)は、オープンソースの主要なデモライブラリです。 (FFMPEGで使用)
Video/Audio decode
libavcodecのはたデマルチプレクサストリームをデコードし、非圧縮の生の出力フレームを生成する主要なオープンソースデコーダライブラリです。したがって、MoboPlayerのようなプレイヤーがよく使用します。
Video display
映像を表示するための2つのオプションがあります。プレイヤーはSurfaceView
バッファーまたはOpenGLアクセラレーテッドバッファーを使用します。 Androidは、内部のネイティブオブジェクトNativeWindow
にjava Surfaceオブジェクト(基底のサーフェスオブジェクトオブジェクトの抽象化)のキャストを提供します。このオブジェクトはネイティブコードでアクセスできます。
Androidは、OpenGLアクセラレーションされたバッファ(SurfaceTexure
およびTextureView
)にもアクセスできます。これらは、ビデオを表示するためにも使用できます。
Audio playout
プレイヤーが直接デコードされたオーディオサンプルを再生するには、Javaレベルで提供AudioTrack
オブジェクトと対話することができます。
OakBytesが正しいです。これらのプレーヤーは、サードパーサー/ソフトウェアデコーダを使用しています(専有またはFFMPEG)。 一部のプレーヤーは、表示にもopenglを使用しています。それらの大部分はSuraceViewを使用し、ネイティブの相手NativeWindowはデコードされたビデオを表示します。 これはネイティブフレームワークなしで動作し、それと並行して動作します。したがって、moboplayerは、ソフトウェアまたはハードウェアデコーダを使用するオプションも提供します。 – peasea
- 1. Android Studio- Media Playerでサウンドが再生されないGenymotion?
- 2. Media Source Extensionにファイル形式(HLSやDASHなど)の指定がないのはなぜですか?
- 3. iPhone AudioServicesCreateSystemSoundIDはどのようなオーディオ形式をサポートしていますか?
- 4. サポートされていないオーディオファイルの形式をiOSのサポートされている形式に変換するにはどうすればよいですか?
- 5. のiOSアプリがサポートされていないファイル形式
- 6. Android用Google Duoアプリは、どのような意図やアプリをサポートしていますか?
- 7. WordPressのビデオ添付ファイルmkv形式で再生していない。再生方法は?
- 8. Android Media Playerが次のストリームを再生していません
- 9. GNOMEやKDEなどのLinuxグラフィカル環境では、スクロールはどのようにサポートされていますか?
- 10. Androidではどのようなブラウザリダイレクトがサポートされていますか?
- 11. Android Media Playerで.asxファイルを再生しますか?
- 12. TTSはどのようなオーディオフォーマットをサポートしていますか?
- 13. Angular2はどのようなマウスイベントをサポートしていますか?
- 14. SQLiteはどのようなジョインをサポートしていますか?
- 15. FFmpeg APIで生成されたMP4をWindows Media Playerで再生できないのはなぜですか?
- 16. Android Media Playerは、停止後に再生されません。
- 17. has_secure_passwordはどのような形式のソルトも使用していますか?
- 18. MKVとMKAファイルをmuxしてブラウザで再生するにはどうすればよいですか?
- 19. PayPalは、サポートされていない通貨をどのようにサポートしていますか?
- 20. Android Media Playerのパッケージはどこにありますか?
- 21. あなたのAndroidアプリをどのように翻訳していますか?
- 22. どのファイル形式でopc uaサーバがサポートされていますか?
- 23. YouTubeなどのインターネットビデオを再生するアプリを作成するにはどうすればよいですか?
- 24. サポートされていないgit形式
- 25. これらのパスはどのような形式ですか?
- 26. AndroidのJW Playerでビデオが再生されない
- 27. どのような宝石が正しいものなのか、どうやって知っていますか?
- 28. テンプレート形式の文字列変数をリストやdictsなどに変換する際に、どのような形式が受け入れられますか?
- 29. Media Playerをダブルバッファにするにはどうすればよいですか?
- 30. Android Nougat Media Playerのロックアニメーションはどのようにロック画面に表示されますか?
mkvは単なるコンテナです。あなたは内部に多くの異なるビデオ/オーディオコーデックを使用することができます... – Goddchen