覚え書き


E/ActivityThread(2733):
Activity com.example.musicplayer.MusicPlayerActivity 
has leaked ServiceConnection 
com.example.musicplayer.MusicPlayerActivity$1@44ac5bd8 
that was originally bound here

色々なパターンで出るらしいが今回の場合はunBindしてないサービスを再びbindしようと
していたのが原因みたい。あとonDestroyでunBindしていない場合にも発生した。


QCMediaPlayer mediaplayer NOT present

android – Why MediaPlayer throws NOT present error when creating instance of it? – Stack Overflow

It means your platform does not support QCMediaPlayer. 
QCMediaPlayer provides extended APIs and interfaces to get 
and set MPD attributes for DASH protocol in compatible 
Snapdragon builds. So, this error should not affect on 
media playing in normal case

”あなたのプラットフォームがQCMediaPlayerをサポートしていないことを意味します。QCMediaPlayerはSnapdragon互換ビルド?でDASHプロトコル用のMPD属性を取得や設定する為の拡張されたAPIやインターフェースを提供します。従って、このエラーは通常の場合メディア再生に影響しないはずです。”

みたいな感じなので、無視していいみたい。SOL25がsnapdragon搭載だから出てるのかな?



MediaPlayer Should have subtitle controller already set

Should have subtitle controller already set というエラー – Google グループ
Should have subtitle controller already set Mediaplayer error Android – Stack Overflow
Android MediaPlayer warning: Should have subtitle controller already set – Stack Overflow

kitkat(4.4)以降で出るようになった模様。subtitle controllerが動画の字幕関連の
ものらしく、音楽再生には関係ないらしい。二番目のページで空のSubtitleControllerを
作ってMediaPlayerにセットするという回避法らしきものがあったけれども、面倒なので
試していない(ノ∀`) 歌詞ファイルでも読み込んで適切な時に歌詞をくれるなら意味が
ありそうだが、そんな機能はあるんだろうか?


MediaPlayer.create() と setAudioStreamType() は相性が悪い

何を調べてる時にヒットしたのか忘れたが、こういうこともあるのか。


stop called in state 1

元にしたチュートリアルのServiceのonUnbind()と同じ

mp.stop();
mp.release();

にしていたが、終了方法が違う場合にエラーが出た。

idleかなんかの状態でstop()を呼んでるのがいけなかったらしい。
stop()をreset()にしたら。エラーは出なくなったがこれでいいんだろうか?
そもそもrelease()が呼び出せる状態がanyだからreset()する必要はあるのか?
謎だ。


ViewPagerでの無限ループ移動が出来るかどうかぐぐった。
→ あるにはあったが、なんだかようわからんのでパス(´・ω・`)
→ ViewPagerにListFragmentを載せる方法がわからなくて四苦八苦
→ 色々ドキュメントを読んでようやくわかる∩(・ω・)∩
→ 画面回転時にアクティビティが再作成されてService内で色々とエラー地獄
→ MediaPlayerをunBindせずreleaseもせずやろうとするも違うエラー地獄
→ android:configChanges=”orientation|screenSize”を指定して自分で
レイアウトをいじる方法を探すかと思う(´・ω・`)
→ 指定したらエラーが消えて何故か画面回転してもきちん横長なレイアウト?になる
→ フシギ(・∀・) ←イマココ

なんで大丈夫なんだろうか。大元がmatch_parentなViewPagerだけで中身が
setRetainInstance(true)してるFragmentだからレイアウトが関係ないと
いうことなんだろうか。基礎知識がないのでよくわからないw

今回の件でようやくAndroidの基礎的な部分を調べ始めた(ノ∀`)


仕事探さなきゃといいながらこんなことやったり、Androidの基礎編とか
訳し始めながら、ソリティ馬やったり、ねこあつめでまんぞくさんの為に
高級カリカリを用意したりする日々。これではいけませんね…( ´・ω・)