タグ

ブックマーク / objective-audio.jp (6)

  • OpenGL ESのRetina対応 | Objective-Audio

    OpenGL ESのRetina対応の方法をちょっとメモしておきます。OpenGL以外のRetina対応については@k_katsumiさんの記事「アプリケーションを iPhone 4 の Retina Display に対応するための方法いろいろ」がとても参考になると思います。というか、この記事を見てOpenGLについては書いてなかったので触発されて書くことにしました。 Xcodeの「OpenGL ES Application」で作成したプロジェクトの場合で書きますと、EAGLViewのViewのサイズはRetinaディスプレイでも変わらず320×480です。iOS4からUIView(およびEAGLViewなどのサブクラス)にcontentScaleFactorというメソッドが追加され、この値を変更することでUIViewの中の解像度を変更することができるようになりました。もうひとつ、UIV

  • iPhone OS 3.0のオーディオ周りの変更点 | Objective-Audio

    OS3.0がでてからもう結構時間が経ってますが、オーディオ周りの挙動に変更があったところをまとめておきます。 ロック時に音が途切れない AudioUnitのRemoteIOを使っている場合、AudioSessionのPreferredHardwareIOBufferDurationを何も設定せずデフォルト状態のままだと、以前と変わらずロックしていないときは1024フレーム、ロック中は4096フレームと切り替わってしまいますが、一度値を設定しておくと、ロックしても設定した値そのままで切り替わらなくなったようです。 RemoteIOのデフォルトフォーマットが変更 OS2.2.1以前のRemoteIOのデフォルトのフォーマットは8.24の固定小数点でしたが、OS3.0からは16bitの整数に変わっているようです。ただし、MultiChannelMixerなどはあいかわらず8.24の様ですので、組

  • AudioUnit MultiChannelMixerを使う | Objective-Audio

    いままでiPhoneのAudioUnitはRemoteIOしか使っていなくて、新規アプリ開発に向けてMixerのUnitを使ってみようと思ったら、なかなかうまくいかなくてハマってしまったのでメモしておきます。 以下が、MultiChannelMixerの初期化のコードになります。 - (void)setupMixerUnit:(AudioUnit *)fMixerUnit busCount:(NSUInteger)fBusCount { AudioComponent component; AudioComponentDescription description; description.componentType = kAudioUnitType_Mixer; description.componentSubType = kAudioUnitSubType_MultiChannelMix

  • RemoteIOでのオーディオ再生 | Objective-Audio

    iPhone用のアプリも公開できて一段落つきまして、さらにNDAも緩和されたという事で、iPhoneのオーディオプログラミングネタを書いていきたいと思います。 iPhoneで音を再生する方法はいくつかあります。短いサンプルを再生するならSystemSoundService。BGMで使うような長い曲を再生するならAudioQueueService。レイテンシーを低く再生するならAudioUnit。あと、OpenALを使うという手もあります。 「Touch the Wave」で使っているのはAudioUnitです。SystemSoundは短すぎて役に立ちませんし、AudioQueueではリアルタイムに音を変化させるような事や逆再生が出来ないですし(たぶん)、OpenALはよくわからないって感じでしたので。 何はなくともとりあえずAudioUnitを使うクラスのサンプルコードです。このクラスを生

  • ngmoco:)直伝 OpenGL高速化テクニック - Objective-Audio

    Perfumeニューアルバム「トライアングル」発売記念エントリー! トライアングルと言えばOpenGLと無理矢理こじつけて、スタンフォード大学の講義でngmoco:)の中の人がOpenGLの高速化テクニックを語っていたので、その内容を自分なりにまとめてみました。 といっても、僕は講義のビデオを見ても英語で何を言ってるのか全然分からないので、あくまでpdfとコードを見て勝手に理解しているだけです。日語の資料がほとんどないプログラミングの世界にもなれてきて、ソースさえあれば大体分かりますしね。 自分でプログラミングしていくうちに経験則で分かっていた事も含まれていましたが、やっぱりプロは徹底的にやっているなぁという感じがします。半年前に知っておけばBigStopWatchつくるのに役立ったのに...。 講義のpdfとサンプルソースは以下のところにありますので、参考にしてください。Appleのi

  • Core Audio – iOS | Objective-Audio

    iOS8からAVAudioEngineという新たなオーディオの機能がAVFoundationに追加されました。AVAudioEngineというのはAUGraphのObjective-C版のような感じのものです。オーディオのプレイヤーやエフェクトやミキサーなどがNodeと呼ばれる部品で用意されていて、それらを繋いで音を鳴らす事が出来ます。 AUGraphよりもかなり簡単に使えるようになっているのですが、その反面、AUGraphを使うときのように細かい設定が出来るわけではなかったり、AUGraphで出来た事が出来なかったりする部分もあるので、いままでAUGraphを使っていた人にとっては物足... read more AVAudioSessionのmediaServiceWereResetNotificationですが、たまたま確実に呼ばれるタイミングを見つけられたのでメモしておきます。 1、

  • 1