Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Tatsuya Matsumoto
KEY, PDF
16,341 views
日本Androidの会発表スライド androidのメディア機能の話
日本Androidの会 8月定例会での発表スライドです。
Read more
20
Save
Share
Embed
Embed presentation
Download
Downloaded 114 times
1
/ 54
2
/ 54
3
/ 54
4
/ 54
5
/ 54
6
/ 54
7
/ 54
8
/ 54
9
/ 54
10
/ 54
11
/ 54
12
/ 54
13
/ 54
14
/ 54
15
/ 54
16
/ 54
17
/ 54
18
/ 54
19
/ 54
20
/ 54
21
/ 54
22
/ 54
23
/ 54
24
/ 54
25
/ 54
26
/ 54
27
/ 54
28
/ 54
29
/ 54
30
/ 54
31
/ 54
32
/ 54
33
/ 54
34
/ 54
35
/ 54
36
/ 54
37
/ 54
38
/ 54
39
/ 54
40
/ 54
41
/ 54
42
/ 54
43
/ 54
44
/ 54
45
/ 54
46
/ 54
47
/ 54
48
/ 54
49
/ 54
50
/ 54
51
/ 54
52
/ 54
53
/ 54
54
/ 54
More Related Content
PDF
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
by
UnityTechnologiesJapan002
PDF
Stagefright入門
by
l_b__
PPTX
組込みAndroid入門実習
by
ksk sue
PDF
13apr2013 kernelvm8-main
by
Shotaro Uchida
KEY
SurfaceTextureとシェーダを使って遊んでみる
by
Tatsuya Matsumoto
PDF
Halide, Darkroom - 並列化のためのソフトウェア・研究
by
Yuichi Yoshida
ODP
Zigbee Study
by
Shotaro Uchida
PDF
お手軽動画ストリーミング
by
Yuki Okura
【Unite Tokyo 2018】Audio機能の基礎と実装テクニック
by
UnityTechnologiesJapan002
Stagefright入門
by
l_b__
組込みAndroid入門実習
by
ksk sue
13apr2013 kernelvm8-main
by
Shotaro Uchida
SurfaceTextureとシェーダを使って遊んでみる
by
Tatsuya Matsumoto
Halide, Darkroom - 並列化のためのソフトウェア・研究
by
Yuichi Yoshida
Zigbee Study
by
Shotaro Uchida
お手軽動画ストリーミング
by
Yuki Okura
What's hot
PDF
ライブストリーミングの基礎知識
by
kumaryu
PDF
インターネット生放送を支える技術としくみ2015年版
by
Yusei Yamanaka
PDF
ライブストリーミングの基礎知識その2
by
kumaryu
PDF
OpenCVをAndroidで動かしてみた
by
徹 上野山
PPT
ゴルフゲームでUnityの限界を突破する方法
by
Nohina Hidenari
PDF
CEDEC2012 今すぐ導入できるボイスファイルマネージメント
by
Takafumi Inamori
PDF
よくわかる?KotonoSyncの使い方!
by
u Suzumof
KEY
Cq tse-fm3セミナー資料
by
Masaki Muranaka
PPTX
Perl で作るメディアストリーミングサーバー
by
Hideo Kimura
PDF
VocalShifterを歌うボイスロイドで使ってみる
by
_zuckey_12
PPTX
Unityプロファイラについて
by
Mio Ku-tani
PPTX
イチからはじめるUSB Host API
by
ksk sue
PPTX
HLSについて知っていることを話します
by
Moriyoshi Koizumi
PDF
【らぼ★ろぐ】jPlayerの紹介
by
株式会社ランチェスター
PDF
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
by
Takafumi Inamori
PDF
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
PDF
【Unity道場スペシャル 2018京都】最新機能オーバービュー ~2018から2019~
by
Unity Technologies Japan K.K.
PDF
20141004 ゼウス・ラーニングパワーlinuxサーバ構築セミナー
by
Takahiro Kujirai
PDF
Android gameprogramming
by
Masahiro Hidaka
PDF
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
by
Keisuke Utsumi
ライブストリーミングの基礎知識
by
kumaryu
インターネット生放送を支える技術としくみ2015年版
by
Yusei Yamanaka
ライブストリーミングの基礎知識その2
by
kumaryu
OpenCVをAndroidで動かしてみた
by
徹 上野山
ゴルフゲームでUnityの限界を突破する方法
by
Nohina Hidenari
CEDEC2012 今すぐ導入できるボイスファイルマネージメント
by
Takafumi Inamori
よくわかる?KotonoSyncの使い方!
by
u Suzumof
Cq tse-fm3セミナー資料
by
Masaki Muranaka
Perl で作るメディアストリーミングサーバー
by
Hideo Kimura
VocalShifterを歌うボイスロイドで使ってみる
by
_zuckey_12
Unityプロファイラについて
by
Mio Ku-tani
イチからはじめるUSB Host API
by
ksk sue
HLSについて知っていることを話します
by
Moriyoshi Koizumi
【らぼ★ろぐ】jPlayerの紹介
by
株式会社ランチェスター
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
by
Takafumi Inamori
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
【Unity道場スペシャル 2018京都】最新機能オーバービュー ~2018から2019~
by
Unity Technologies Japan K.K.
20141004 ゼウス・ラーニングパワーlinuxサーバ構築セミナー
by
Takahiro Kujirai
Android gameprogramming
by
Masahiro Hidaka
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
by
Keisuke Utsumi
Viewers also liked
PPTX
Understanding open max il
by
Chethan Pchethan
PPT
Android Audio & OpenSL
by
Yoss Cohen
PDF
Superpowered Media Server for Android
by
Patrick Vlaskovits
PDF
OpenSL ES 1.1 Reference Card
by
The Khronos Group Inc.
PDF
Androidとは何か
by
Koji Shigemura
PDF
20分で理解するdisplaysystem
by
magoroku Yamamoto
PDF
スマートフォンカード決済について
by
Sohei
PDF
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
by
Monaca
PDF
最新AndroidとIoTプラットフォームの今 (WJ2016)
by
嶋 是一 (Yoshikazu SHIMA)
PPTX
理事長就任講演「イマAndroidで興っていること」日本Androidの会 2013年7月定例会
by
嶋 是一 (Yoshikazu SHIMA)
PPTX
モバイル用Webフレームワーク最前線
by
アシアル株式会社
PDF
広がりを見せるAndroidプラットフォーム
by
Shoichi Matsuda
PDF
AndroidにおけるCocos2d-x製ゲームの画面の録画
by
gomachan_7
Understanding open max il
by
Chethan Pchethan
Android Audio & OpenSL
by
Yoss Cohen
Superpowered Media Server for Android
by
Patrick Vlaskovits
OpenSL ES 1.1 Reference Card
by
The Khronos Group Inc.
Androidとは何か
by
Koji Shigemura
20分で理解するdisplaysystem
by
magoroku Yamamoto
スマートフォンカード決済について
by
Sohei
120分聞けばドヤ顔で語れる apache cordova スーパー勉強会
by
Monaca
最新AndroidとIoTプラットフォームの今 (WJ2016)
by
嶋 是一 (Yoshikazu SHIMA)
理事長就任講演「イマAndroidで興っていること」日本Androidの会 2013年7月定例会
by
嶋 是一 (Yoshikazu SHIMA)
モバイル用Webフレームワーク最前線
by
アシアル株式会社
広がりを見せるAndroidプラットフォーム
by
Shoichi Matsuda
AndroidにおけるCocos2d-x製ゲームの画面の録画
by
gomachan_7
Similar to 日本Androidの会発表スライド androidのメディア機能の話
PPT
Android™組込み開発基礎コース BeagleBoard編
by
OESF Education
PDF
基礎から学ぶ組み込みAndroid
by
demuyan
PDF
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
by
Atsushi Tadokoro
PDF
Android api-levels
by
Kazuaki Ueda
PDF
0621 ndk game
by
cat kaotaro
PDF
Designing video game hardware in verilog
by
Atsuki Takahashi
PDF
Introducing libpd -Pdをアプリのサウンドエンジンに-
by
Yoichi Hirata
ODP
Stagefright入門
by
l_b__
PDF
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
by
Developer Camp 2012 Japan Fall
PDF
Dev camp2012jpn day2special
by
Katsuhito Katoh
PDF
Dev camp2012jpn day2session2
by
Daiyu Hatakeyama
PDF
Dev camp2012jpn day2session2
by
Developer Camp 2012 Japan Fall
PDF
ストリーミングのげんざい
by
Tetsuya Morimoto
KEY
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
by
Satoru Tokuhisa
PDF
自由ソフトウェアによるライブストリーミング
by
Takatsugu Nokubi
PDF
Android0422
by
takahiko_takahashi
PDF
みゆっき☆Think#3 「androidに触ってみるよ!」
by
techtalkdwango
PDF
DartVM on Android
by
nothingcosmos
ODP
はじめてのAndroid
by
hiro nemu
PDF
第12回 つ部 ミーティング兼忘年会 LT資料
by
Kenji Nagase
Android™組込み開発基礎コース BeagleBoard編
by
OESF Education
基礎から学ぶ組み込みAndroid
by
demuyan
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
by
Atsushi Tadokoro
Android api-levels
by
Kazuaki Ueda
0621 ndk game
by
cat kaotaro
Designing video game hardware in verilog
by
Atsuki Takahashi
Introducing libpd -Pdをアプリのサウンドエンジンに-
by
Yoichi Hirata
Stagefright入門
by
l_b__
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
by
Developer Camp 2012 Japan Fall
Dev camp2012jpn day2special
by
Katsuhito Katoh
Dev camp2012jpn day2session2
by
Daiyu Hatakeyama
Dev camp2012jpn day2session2
by
Developer Camp 2012 Japan Fall
ストリーミングのげんざい
by
Tetsuya Morimoto
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 1/2
by
Satoru Tokuhisa
自由ソフトウェアによるライブストリーミング
by
Takatsugu Nokubi
Android0422
by
takahiko_takahashi
みゆっき☆Think#3 「androidに触ってみるよ!」
by
techtalkdwango
DartVM on Android
by
nothingcosmos
はじめてのAndroid
by
hiro nemu
第12回 つ部 ミーティング兼忘年会 LT資料
by
Kenji Nagase
日本Androidの会発表スライド androidのメディア機能の話
1.
Androidと マルチメディア 日本Androidの会
8月定例会 法政大学 情報科学研究科 松本 達弥
2.
自己紹介 •
松本達弥 (Twitter:@tmash06) • 法政大学 情報科学研究科 M1 • 今までやってきたこと • ゲーム向け音声・映像ミドルウェアのAndroidへの移植 • VoIPアプリの制作 • 音声合成ミドルウェアの初期移植 • 群馬県館林市センサーネットワーク実験 クライアント制作 • etc...
3.
宣伝 •
5ヶ月前にAndroid NDKの本を出版しました。
4.
今日のテーマ Androidの マルチメディア機能
5.
マルチメディア機能を使ったアプリ 音楽プレイヤ
映像プレイヤ VoIPアプリ 録音 引用:GooglePlay https://play.google.com/
6.
利用出来るクラス・API • 大体がandroid.mediaパッケージ
• MediaPlayer • OpenSL|ES • MediaRecorder • OpenMAX|AL • SoundPool • Camera • AudioTrack • ThumnailUtils • AudioRecord • etc... どれを使えばいい・・・?
7.
アジェンダ • Androidのメディア機能について • Low
Media API • トラブル時の対応 • まとめ
8.
Androidで再生/録画出来る形式 • Android
Developers: Android Supported Media Formats • ここに載っている形式 + 各機種独自対応
9.
Androidで再生/録画出来る
代表的な形式 コーデック エンコーダ デコーダ 備考 MP3 ⃝ 8∼320kbps CBR/VBR Vorbis ⃝ H.264 AVC ⃝※ ⃝ Baseline Profile VP8 ⃝ • ※Honeycomb(3.0)∼ • OSバージョンによっても違う • 開発時にターゲットとするOSバージョンを決めることが重要
10.
普通に音楽/映像を
再生したい 例:音楽プレイヤ・動画プレイヤ・ゲームのBGM
11.
MediaPlayer •
大体のことがコレで事足りる • 動画プレイヤー、音楽プレイヤー、 操作紹介ビデオの再生、etc... • 動画・音楽対応しているものなら、 なんでも再生可能 • ストリーミング再生も可能 • ただし、単純再生しか出来ない • 再生・停止・一時停止・・・
12.
普通に録音/録画がしたい 例:録音・録画アプリ
13.
MediaRecorder •
カメラやマイクから映像や音声を記録し、 エンコードして保存 • 録画・録音しながら、何か効果を与えるなどは不可 • SEを入れる • 映像にポップを入れる • Android OS 1.0∼
14.
短い音を低負荷/低レイテンシ
に再生したい 例:ゲームの効果音など
15.
SoundPool •
短い音の再生するときに利用 • ゲームのSE向け • ロード時にデコードしておく • 再生時の負荷が低い • レイテンシ(遅延)が少し小さい • メモリ使用量が多い
16.
基本はこの3つ •
MediaPlayer • MediaRecorder • SoundPool • コレを使えば、大体のアプリはなんとかなる • 音楽プレイヤー、録音アプリ、簡単なゲーム、etc... • が、ちょっと凝ったことをやろうとすると、 コレより先に紹介するAPIが必要 • 本格的な楽器アプリ • VoIP etc...
17.
任意のPCM波形を再生したい 例:楽器アプリ・VoIPアプリなど
18.
AudioTrack •
任意のPCM波形を再生 • 2つのモード • Staticモード • 決まった波形を何回も再生する時 • Steramモード • その時に応じた任意の波形を再生する時 • バッファリングとレイテンシの管理が難しい • Cupcake(1.5)∼
19.
任意のPCM波形を録音したい 例:凝った録音アプリ・VoIPアプリなど
20.
AudioRecord • マイクなどから入力されたPCM波形を
取得可能 • 定期的に録音用バッファから取得しな いと、音が飛ぶので注意 • Cupcake(1.5)∼
21.
ネイティブコードから オーディオを扱いたい 例:既存のゲーム/ミドルウェアの移植
22.
OpenSL|ES •
ネイティブ向けオーディオAPI • ネイティブコードで書かれた、 既存のソフト・ミドルウェアを移植するときに • 持っている機能は、 MediaPlayer + MediaRecorder + AudioTrack + AudioRecord = 万能 • 使いづらい&資料が少ない • Gingerbread(2.3∼)
23.
ネイティブからMPEG2-TS形式を
扱いたい 例:自前DRM機能付き動画プレイヤ・ワンセグ?
24.
OpenMAX AL •
マルチメディアストリームを扱うAPI • MPEG2-TS(H.264 baseprofile + AAC)のみ対応 • ストリームを入力する前に任意の処理が可能 • DRMなどに向いている • ネイティブコードからのみ利用可能 • 資料が少ない • ICS(4.0∼)
25.
カメラを使いたい 例:カメラアプリ・AR
26.
Camera • カメラ機能 • 撮影する機能とプレビュー機能 •
プレビュー機能は、任意のSurfaceView などへ出力可能 • ARなどをやるときはプレビュー機能
27.
動画などのサムネイル
を作りたい 例:動画プレイヤでの一覧表示
28.
ThumbnailUtils • サムネイルを作るときに便利な機能 • 例:動画のサムネイル画像を作成し
て、ユーザに選択させる • Froyo(2.2)∼ • 地味に新し目なので注意
29.
リアルタイムに動画や カメラプレビューにエフェクトをかけたい
例:???
30.
SurfaceTexture • 動画/カメラのプレビューを,
OpenGL|ES 2.0のテクスチャとして 扱える • シェーダで映像にリアルタイムにエ フェクトなどを与えることが出来る • Honeycomb(3.0)∼
31.
SurfaceTextureの応用例 その1
ShaderMovie • シェーダを使ってリアルタイムに 映像やカメラプレビューにリアルタイムにエフェクト • 詳しくは、ABC2012 Springの私のLTを参考にしていただ ければ・・・
32.
SurfaceTextureの応用例 その2
全方位動画 シェーダ • 同心円状に撮影した全方位動画を シェーダでリアルタイムにパノラマ変換
33.
映像/音声を編集して保存したい 例:動画編集ソフト/DAWソフトなど
34.
編集して保存に必要な機能 • mp4やmp3形式のファイルを開く • フレーム単位・サンプル単位で読み込む •
編集 • 再度圧縮して保存
35.
Low Media API •
JellyBeans(4.1)∼ • 低レベルなメディアAPIにアクセス可能 • 低レベル =今までよりも細かい高度なことが出来る =単純な操作に使うときは面倒くさい • OpenMAX ILの薄いラッパー的なイメージ • ネイティブ向けAPIは公開されていない
36.
Low Media APIで出来ること •
音声/映像のエンコード/デコード • 入力も出力もバイナリデータ • 柔軟性が高い • 暗号化にも対応(DRM向け?) • 端末が対応していれば、 HWエンコード/デコード
37.
どこに使える? • 動画・音声編集ソフト • 圧縮音声への自前エフェクト •
動画の再生時刻に応じたサムネイル • 2つの動画の同期再生 • etc...
38.
MediaExtractor •
マルチメディアデータ(動画・音声ファイル)の構造を解析 • 例:映像の場合以下の情報を取得出来る • 映像 • mime : video/avc • 幅 : 640 • 高さ : 480 • 音声 • コーデック : audio/aac • サンプリングレート : 44100 • チャンネル数 :2
39.
MediaCodec • 実際にエンコード/デコードする • データをByteBufferとして入出力
• 内部では、ネイティブのメモリー領域 をラップしているだけ • 音声と映像の同期などは取ってくれない
40.
基本的な利用の流れ • 1.MediaCodecList、MediaCodecInfoから、 利用出来るコーデック・プロファイルを取得 •
2.MediaExtractorでデータを解析 • エンコードの際には不要 • 3.MediaCodecでエンコード・デコード
41.
Low Media APIの問題点 •
サンプルがほとんどない • 特に映像を扱ったものは見つからない • 扱うのが非常に難しい • 対応機種が少なすぎる
42.
音声デコード&再生 •
サンプル作りました • メディアフォーマットを解析→デコード→AudioTrack を利用して再生 • どのコーデックが使えるかなどの情報を 取得可能 • 今日説明すると長いので、githubにて公開 • http://git.io/SuBQMw
43.
映像デコード&表示 •
こちらもサンプル作りました • メディアフォーマットを解析→ 動画を連続したビットマップ画像として表示 • こちらも今日説明すると長いので、 githubにて公開 • http://git.io/SuBQMw
44.
音系APIの共通事項
レイテンシ問題 • レイテンシ(遅延) • 再生しろ!と命令してから、実際にスピーカから 再生されるまでの時間 • 現在は非常に大きい(機種によっては150ms∼) • iOSは10ms程度 • 楽器アプリや音ゲーを作るときに大問題 • JellyBeans(4.1)からは、10ms∼12msぐらいに 改善されるらしい
45.
突然のエラー • MediaPlayerを使って再生 • 突然エラー! •
エラーなことは教えてくれるが、理由 までは教えてくれない • adb logcat !(ログを見てみる)
46.
のスタックトレース • mediaserverというプロセスがクラッシュ
47.
mediaserver •
Androidのメディア機能全般を担当する プロセス • MediaPlayerなどで再生する時、実際にデコード などの処理をしているのはこのプロセス • Androidが対応していないコーデックや プロファイルのデータを再生しようとした時、 クラッシュする時がある
48.
どうやって対応するか •
初めに疑うべきはコーデック • 特にプロファイルについては要注意 • H.264はbaseprofileのみなど・・・ • Android Supported Media Formatsをよく読む (http://developer.android.com/guide/appendix/media-formats.html) • ひと通り調べても分からなければ、 死んでいる部分のソースを見てみるしか無い(ただしC++) • 幸運?なことに、大体Assertionで死ぬので、 特定はしやすい
49.
Android OSソースの
ダウンロード • 時間の都合上省略します • OSのビルドは大変だが、ソースコードの ダウンロードだけなら、そこまで大変ではない • もしくは、ソースコード検索サービスを利用する • 「Androidソースコード検索サービス」 http://tools.oesf.biz/android-4.1.1_r1.0/
50.
libstagefright • mediaserverが利用しているライブラリ のひとつ
• コンテナの解析 • エンコード・デコード • ここが原因の時が多い
51.
MediaExtractor • ファイルフォーマットなどを解析する • ファイルが壊れていたり、不正な形式
だったりすると、ここでクラッシュ • 比較的読みやすいコードなので、原因 特定は簡単に出来る
52.
その他 •
StagefrightPlayer • AwesomePlayer • OpenMAX関連 • etc... • 今回は時間がないので省略します。 • この辺りでクラッシュするときは、コーデックの プロファイルが怪しい
53.
まとめ •
やりたいことに合わせたメディアAPI利用しよう • トラブルが起きたときは、mediaserverの コードを参考にすると解決のヒントになるかもしれない • Low Media APIは、Androidのマルチメディア機能を一つ上のレベ ルに上げる • が、まだ本気で使うのは早い? • 今回は紹介しませんでしたが、ffmpegというライブラリを利用 する方法もある(難易度は高)
54.
ありがとうございました github : http://git.io/SuBQMw
Editor's Notes
#2
\n
#3
最初に簡単に自己紹介させて頂きます。\n法政大学 情報科学研究科 修士1年の松本達弥と申します。\nとは言っても、普段はこの小奇麗なキャンパスではなく、三鷹の先のド田舎の小金井というところにいます。\n簡単に今までに私がやってきたことを紹介させて頂きますと、\nCRI・ミドルウェアという会社でのゲーム向け音声・映像ミドルウェアのAndroidへの移植\n面白法人カヤックという会社で、ReengoというFacebookアカウントで通話ができるReengoというアプリの制作\n音声合成ミドルウェアの移植初期調査、日本一暑い街、群馬県館林にセンサーネットワークを張り巡らせて、\n色々やってみようという実験、これは、東京電機大、中央大、東大、気象庁さんなどと一緒にやったプロジェクトなのですが、これのクライアントアプリ制作。\n
#4
宣伝です。\n5ヶ月ぐらい前にAndroid NDKの本を出版しました。\nよろしくお願いします!\n
#5
で、今日の本題\nAndroidのマルチメディア機能についてなのですが、\n私の今まで携わって来たものが、先程も紹介した通り、マルチメディア関連のアプリが多かったんですね。\nそういった経緯もありまして、結構大学とかで、卒論とかの相談で、Androidで録音したいんだけどどうすればいい?とか、\nファミコンみたいな音を鳴らしたいんだけど、方法がわからないといった相談を受けるんですね。\n\nで、そのたび説明してるんですが、イザ自分でも色々調べてみると、バージョンが上がるごとに機能が増えていって、かなりごちゃごちゃしていると。\n例えば、単に音を鳴らすだけでも何種類もある。\n確かに、これはいきなりAndoridを始めた人がどれを使えばいいかなんて、わかりませんよね。\n\nさらに、かなりAndroidのマルチメディア機能って不親切なんですね。\n例えばエラーが起きても、エラーが起きたことは教えてくれても、なんでエラーが起きたかは教えてくれない。\n\n幸運にも、私はアルバイトなどの都合上、マルチメディアを担当するライブラリlibstagefrightっていう名前なのですが、\nこの内部とかも、若干読んだ経験がありまして、そのおかげでトラブルが起きた時も、結構すぐに理由がわかることができたりするのですが、\nそもそもJavaレイヤーの開発者は、内部のコードを読むことはないわけです。というか、読む必要があるっていうのはかなり不親切な設計だと思うんですが。\nですから、トラブルが起きた時に想像でしかデバッグができないという問題があったりします。\n\nそこで、今日は、Androidのマルチメディア機能について、何をしたい時には、どのクラス・APIを使えばいいのかという話をしたいと思います。\nまた、エラーが起きた時に、ある程度、OSのメディアフレームワークのコードからそれを簡単に推測する方法などを紹介します。\nそして、最後に、JellyBeansから搭載された最新MediaAPIであるLowMediaAPIについて簡単に紹介したいと思います。\n\n
#6
\n
#7
\n
#8
\n
#9
\n
#10
\n
#11
\n
#12
\n
#13
\n
#14
\n
#15
\n
#16
\n
#17
\n
#18
\n
#19
\n
#20
\n
#21
\n
#22
\n
#23
\n
#24
\n
#25
\n
#26
\n
#27
\n
#28
\n
#29
\n
#30
\n
#31
\n
#32
\n
#33
\n
#34
\n
#35
\nPCで動く映像編集ソフトや、波形編集ソフトで編集して保存するのに必要な機能ってなんでしょうか。\n基本的には、Mpeg4とかMP3形式などの圧縮された映像・音声を開いて、\nフレーム、これは、動画の\n
#36
\n
#37
\n
#38
\n
#39
\n
#40
\n
#41
\n
#42
\n
#43
\n
#44
\n
#45
\n
#46
\n
#47
\n
#48
\n
#49
\n
#50
\n
#51
\n
#52
\n
#53
\n
#54
\n
#55
\n
Download