投稿

9月, 2013の投稿を表示しています

iPod library access

iPodライブラリアクセスを使う上での注意点のメモです。
使用バージョン:iOS 5あるいはiOS 6

特徴
iPodプレーヤである曲を再生中にその曲を含むコレクションを設定しても曲は途切れることがない。
説明ではMPMusicPlayerControllerはMPMediaPlaybackデリゲートを実装している。このデリゲートの中でprepareToPlayはrequiredとなっているが対応してないようだ。
(追記2014/12)Base SDKがiOS5.0ではprepareToPlayでアラームが発生する。これはそのバージョンのMPMusicPlayerControllerがMPMediaPlaybackデリゲートを実装していないため。それより後のどこかのバージョンで実装されている模様。


使うプレーヤの選択
オーディオを再生できるのは一度に1つのミュージックプレーヤーのみです。ミュー ジックプレーヤーは、アプリケーションのメインスレッドでのみ使用できます。2種類あります。
iPodMusicPlayer-バックグラウンドで再生可(追記2014/12 iOS 8よりsystemMusicPlayerに変更)
applicationMusicPlayer-バックグランドで再生不可


listenerの設定
ライブラリ更新
曲が変わった時
曲の再生状態が変わった時
ボリュームが変わった時

大量の曲を更新する時はライブラリ更新のメソッドがかなり頻繁によばれます。
iPod再生中にライブラリから曲を削除すると、現在再生中の曲と次の曲は再生されますが、その次の曲は再生されません。エラーも出ません。
停止状態からある曲を再生させた時に呼ばれる順番は
1アイテムチェンジのメソッド(このとき再生状態はstop)
2再生状態変更のメソッド(このとき再生状態はplay)
の順です。
逆に再生状態(または一時停止)から停止させた時は
1再生状態変更のメソッド
2アイテムチェンジのメソッド
の順。
再生状態と一時停止の変更では
再生状態変更のメソッド
のみです。

デバイスで新規プレイリストを作成したときにもライブラリ更新のコールバックが呼ばれます。

Sessionの設定
セッションの設定がしてあると思います。設定はおそらくmediaPlayback。
再生中に割り込みがあった場合、割り込み…

iOS 7について

気になるのはC言語ベースのAudioSessionが非推奨になったこと。
AVAudioSessionを使え、とのこと。
以前、AVAudioSessionの一部分が非推奨になったために、アプリを作る際はAudioSessionのほうに統一した方がいいんじゃないかという内容を書きましたが、こんどはAVAudioSessionの方を推奨するようです。

他に気付いたもの

AVSpeechSynthesizer AVSpeechUtterance しゃべらせることが出来る?

LadderTouchのカテゴリ変更

教育から仕事効率化にしました。
だいぶカテゴリー内順位が上がりました。
教育は層が厚いですね。
「幼児向け」「義務教育」「専門」ぐらいに分けたらちょうどよくなるような感じがします。
もしくは「技術」カテゴリーがあればLadderTouchにとってはいいかもしれません。

iOS 7 Design Resources

iOS7のいろいろな資料を読んでのメモ書き。
iOS7はこれまでのバージョンアップより資料が多い気がする。

iOS 7 UI Transition Guide

起動画面
以前からiPhone用の起動画面は画面全体を覆うものだったがiPad版のほうはステータスバーの領域をカットする1004x768のような中途半端なものだった。これがiOS7からはiPad iPhone共にステータスバーの領域をカットしないものになった。画面全体を覆う画像を用意すればいい。

アイコン
iOS7で使用するアイコンの大きさは変更になった。
120 x 120 iPhone iPod touch
76 x 76と152 x 152 iPad

120 120の場合、枠のカーブはだいたい34から10へのベジエ曲線。
76 76の場合、枠のカーブはだいたい22から6へのベジエ曲線。

起動画面、アイコン共に、Xcodeでどのファイルをどれとして使用するかを関連付けるようになった。前までは名前の決まりがあったがなくなったかもしれない。

ステータスバーが非表示に出来なくなったようです。