問題タブ [audiotoolbox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iPhone アプリで 3/4 を実行するとバックグラウンド ミュージックが停止する
アプリでループでサウンドを再生しています。そのため、アプリ全体で再生を続ける必要があります。音を3/4回鳴らすと止まる時があります。何が起きているのか分かりません。サウンドの再生に audio-toolbox フレームワークを使用しています。Audio Queue を作成し、ループでサウンドを再生します。また、メディアプレーヤーを使用して iPod ライブラリからサウンドを再生しています。iPodの曲でも同じことが起こります。[musicPlayer setRepeatMode: MPMusicRepeatModeOne]; を設定しました。それでも3/4回で止まります。
iphone - iPhone の AudioServices で wav ファイルを再生する
アプリケーションで 2 つの .wav ファイルを再生しようとしていますが、最初の wav ファイルしか再生できず、2 番目のファイルはまったく再生されません。
AudioToolbox フレームワークを追加しました。私の .h ファイルには Audiotoolbox.h ファイルが含まれており、次の宣言があります
私の.mファイルでは、次のように両方のwavファイルを登録しています
そして、各ファイルを個別に再生するための 2 つの方法を作成しました。
しかし、ビープ音しか再生できませんが、2番目のサウンドwavファイルは再生できません。
エラーは何ですか???
ありがとう
objective-c - AudioServicesPlaySystemSound がサウンドを再生しない
AudioToolBox を使用して小さな .wav ファイルを再生しています。
しかし、時々再生されないことがあります。
理由は何ですか?
iphone - AVAudioPlayerは、新しい割り当てのたびにキャッシュされたメモリをアンロードしません
インストゥルメントでは、Appleが提供する標準の「AddMusic」サンプルメソッドを使用してサウンドを再生すると、新しいプレーヤーが割り当てられるたびに(つまり、フレームワークの機能prepareToPlay
を参照する)呼び出しを介して32kbのメモリが割り当てられることがわかります。別の音が鳴ります)。ただし、そのキャッシュされたデータが解放されることはありません。AudioToolBox
Cache_DataSource::ReadBytes
これは、リリースされず、再生するサウンドファイルが多い場合、明らかに大きな問題を引き起こします。これは、メモリを割り当て続ける傾向があり、十分な数の固有のサウンドファイルがある場合は最終的にクラッシュするためです(残念ながらそうします)。
これに遭遇した人はいますか、それとも私のコードで何が間違っているのですか?私はしばらくの間この問題を抱えていましたが、私のコードはAppleのものと逐語的であるため、それは本当に私を悩ませています(私は思います)。
関数の呼び出し方法:
そしてもちろんその方法でtheAudio
解放されます。dealloc
iphone - iphone:AudioToolboxリークのヘルプ:ここに含まれるスタックトレース/コード
このアプリの一部は、テレビ番組のキャストメンバーからランダムな悲鳴を再生する「悲鳴」ボタンです。Instrumentsのメモリリークを確認するには、アプリをかなり長く叩く必要がありますが、時々発生します(45秒から2分ごと)。リークが発生すると、3.50kbになります。数時間それを割ることができませんでした。助けていただければ幸いです。
Instrumentsは、これが問題のあるコード行であると述べています。
これは、以下のスタックトレースの9行目からリンクされています。
0 libSystem.B.dylib malloc
1 libSystem.B.dylib pthread_create
2 AudioToolbox CAPThread :: Start()
3 AudioToolbox GenericRunLoopThread :: Start()
4 AudioToolbox AudioQueueNew(bool、AudioStreamBasicDescription const *、TCACallback const&、CACallbackTarget const&、unsigned long、OpaqueAudioQueue **)
5 AudioToolbox AudioQueueNewOutput
6 AVFoundation allocAudioQueue(AVAudioPlayer *、AudioPlayerImpl *)
7 AVFoundation prepareToPlayQueue(AVAudioPlayer *、AudioPlayerImpl *)
8 AVFoundation-[AVAudioPlayer prepareToPlay]
9 Scream Queens-[ScreamViewController scream:] / Users / laptop2 / Desktop / ScreamQueensバージョン/ScreamQueens25/ScreamQueens/クラス/../ScreamViewController.m:210
10 CoreFoundation-[NSObject PerformSelector:withObject:withObject:]
11 UIKit-[UIApplication sendAction:to:from:forEvent:]
12 UIKit-[UIApplication sendAction:toTarget:fromSender:forEvent:]
13 UIKit-[UIControl sendAction:to:forEvent :]
14 UIKit-[UIControl(Internal)_sendActionsForEvents:withEvent:]
15 UIKit-[UIControl touchesEnded:withEvent:]
16 UIKit-[UIWindow _sendTouchesForEvent:]
17 UIKit-[UIWindow sendEvent:]
18 UIKit-[UIApplication sendEvent:]
19 UIKit _UIApplicationHandleEvent
20 GraphicsServices PurpleEventCallback
21 CoreFoundation CFRunLoopRunSpecific
22 CoreFoundation CFRunLoopRunInMode
23 GraphicsServices GSEventRunModal
24 UIKit-[UIApplication _run]
25 UIKit UIApplicationMain
26 Scream Queens main / Users / laptop2 / Desktop / ScreamQueens Versions / ScreamQueens25 / Scream Queens / main.m:1427
スクリームクイーンズ開始
これが.hです:
.mの先頭は次のとおりです。
次の行は、問題のあるコードでブロックを開始します。
これが私のdeallocです:
ここまで読んでくれてありがとう!任意の入力をいただければ幸いです。
iphone - AudioToolKitを使った簡単な効果音ループ
ゲームで使用するサウンドをいくつか作成しました。特定のイベントで問題なくプレイできます。
このゲームには、デバイスを振って一部の機能を有効にできるメカニズムがあります。シェイク コードが完成したので、ゲームに「シェイク開始」および「シェイク終了」メッセージが表示されます。必要なのは、揺れが始まったときに「shave.wav」の再生を開始し、揺れが止まるまでループすることです。AudioToolbox/AudioServices でこれを行う方法はありますか? そうでない場合、どうすればこれを行うことができますか?
audio - Core Audioでオーディオ入力デバイスをどのように選択しますか?
複数のオーディオ入力を処理する必要のあるプログラムを書いています。
現在、AudioQueuesを使用して入力を取得していますが、これはデフォルトの入力デバイスからのみです。
次のいずれかにする方法はありますか?
- AudioQueuesが使用する入力デバイスを選択します。
- デフォルトの入力デバイスを変更します。
Core-AudioでkAudioHardwarePropertyDevicesを使用して出力デバイスのリストを取得できることは知っていますが、入力デバイスに使用できる同様のデバイスはありますか?
iphone - SystemSoundID の配列を作成するにはどうすればよいですか? AudioToolbox フレームワークの使用
私はこのような音を作ることに慣れています:
爆発1aと爆発1bは、.hファイルで次のように宣言されたインスタンス変数です。
このような配列でこのプロセスを作成しようとするたびに
警告が表示されます:
addObject 引数の Plasmalaunch1 の前に & 記号を付けると、
後で呼び出して再生できる効果音の配列を作成しようとしています:
これを機能させる方法 (またはこの問題を解決するためのより良い方法) に関するアドバイスをいただければ幸いです。
iphone - i386 アーキテクチャ ファイルが見つからないというこのビルド警告を解決するにはどうすればよいですか?
次のビルド警告が表示されます。
どうすれば解決できますか?
iphone - iPhoneで録音されたサウンドをあるフォーマットから別のフォーマットに変換する、たとえばwavをmp3に変換する
オーディオを録音して、他のサウンド形式に変換しようとしています。AVAudioRecorder クラスを使用して録音しています。これらは、使用した録音設定です。
録音は美しく機能しています。次に、このサウンド ファイルを mp3 形式に変換します。AudioToolBox フレームワークでこれを行うことはできますか。私はこれを試しました
関数 AudioConverterNew() でエラー kAudioConverterErr_FormatNotSupported ('fmt') が発生しています。さまざまな mFormatID と mFormatFlag の組み合わせを試しました。しかし、オペラント (ソースまたは宛先) の 1 つが mp3 の場合は常に、このエラーが発生します。これらの質問について教えてください。
AudioToolbox フレームワークと関数を使用して、サウンドを圧縮形式と非圧縮形式の間で変換できますか (現在、.wav と .mp3 の間で変換したいと考えています)。AudioConverterNew のドキュメントでは、「リニア PCM と圧縮形式の間のエンコードとデコードがサポートされている」と述べています。しかし、彼らは具体的にどの圧縮形式を言っているわけではありません。
質問 1 に対する答えが「いいえ」の場合、上記のフォーマット間でサウンドを変換するには、どのフレームワークを使用する必要がありますか?
- 上記の 2 とは関係ありませんが、さまざまなサウンド形式 (wav、mp3、aac など) とそのデジタル表現 (cpm、lpcm など) に関する情報がある Web サイトへのリンクを教えてください。