1. はじめに 久しぶりの記事投稿です。 最近、縁あって動画再生アプリの開発に従事しているため、それに関連する記事を投稿させていただきます。 ・本稿範囲:AVAudioSessionを利用しての、ヘッドフォンの抜き差し検知と電話の着信割り込み検知 ・対象読者:音楽再生アプリ、または、動画再生アプリを開発している方 ・動作検証環境:iPhone6+ iOS 8.1.2 ・開発環境:XCode 6.1.1 ・前提知識:Objective-Cの知識がある程度あること ・前提条件:今回使用する技術はiOS6以降で有効なものですので、それ以前の環境には適用できません。 2. 何故、それが必要か? アプリケーションで音楽や動画を再生している際、ヘッドフォンを抜いたり、電話が掛かってくると音声は停止します。 が、UIの方は自動的には更新されません。 例えば、iPhoneのミュージックアプリでは、再生中と
iOSで、今音声がどこから流れているのか、ヘッドフォンが接続されているのか、 Bluetoothヘッドフォンなのか、とかが知りたい時には、以下のようにして取得可能です。 AVAudioSession *session = [AVAudioSession sharedInstance]; NSArray *out = session.currentRoute.outputs; AVAudioSessionPortDescription *portDescription = [out lastObject]; で、このAVAudioSessionPortDescriptionのConstantsを以下にまとめました。 AVAudioSessionPortLineOut ドックコネクタから有線で出力中。 AVAudioSessionPortHeadphones 有線ヘッドフォンで出力中。 AVA
今回は、Audio系で利用する「AudioSession」についてです。 iOS 7から「AudioToolbox」フレームワークの「AudioSession」クラス が非推奨となり、 それに代わり、「AVFoundation」フレームワークの 「AVAudioSession」クラスを利用する事になりましたので記載します。 今まで「AudioToolbox」フレームワークの「AudioSession」を利用する際 以下のように記載していました。 //AudioSession利用開始 AudioSessionSetActive(YES); //音声入出力クラス利用 UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; AudioSessionSetProperty(kAudioSessionProperty_AudioCa
音声 x 外部ヘッドセット周りで嵌ったのでメモメモ。φ(・・ 基礎知識 44,100 Hz デジタルオーディオにおける一般的なサンプリング周波数。アナログオーディオは一秒間に441000回標本化される。 44,100 Hz - Wikipedia ハード側 iPhoneのスピーカー 通話用スピーカー 上についているやつ 内蔵スピーカー 右側がスピーカー、左側がマイク BluetoothHFPとは Bluetooth Hands-Free Profile の略。 携帯電話 - ヘッドセット間などで用いられる、電話の発着信や通話を行なうためのプロファイル。 Bluetoothプロファイルの一覧 - Wikipedia アプリケーション側 AVAudioSessionとは? OS(及びハードウェア)とアプリケーションの仲介を行うオブジェクト。 デフォルトでは以下の設定がされている。 再生はサポー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く