16

私は最初のiPhoneアプリに代替キーボードを実装しました。ボタンを押したときに音を鳴らしたいのですが。標準のキーボードを押したときのデフォルトのクリック音は問題ありませんが、その音を出す方法がわかりません。

この回答で、「tock」サウンドを再生する方法を見つけました。

独自のサウンドをインポートせずにシステムサウンドを再生する

これは簡単に動作するようになりましたが、非常に大きな音です。Stack OverflowとXcodeヘルプで「tock」以外の利用可能なiOSシステムサウンドを検索しましたが、見つかりません。

他に使用できる組み込みのサウンド、おそらくデフォルトのキーボードサウンドはありますか?

4

2 に答える 2

18

ほぼ2週間前にこの質問を投稿する前と投稿して以来、アプリでキーボードのクリック音を鳴らす方法を高低で検索しました。カスタム入力ビューに関する Apple のドキュメントを実装して理解しようとしました。私は自分のアプリを機能させるためにさまざまな方法で解体し、いくつかのテスト プロジェクトを作成しました。Web 上のさまざまなソースからこれを行う方法を解釈しようとしました。すべて役に立たない。この最後の関数を除いて、アプリをすべて完成させました。

私は最終的に、この IPhone Dev SDK フォームの質問/投稿の終わりに向かって簡単な答えを見つけました。究極の答えは簡単で、これらの簡単な手順で数秒で実行できます.

  1. 「AudioToolbox.framework」をプロジェクトにリンクします(プロジェクトのターゲットをクリックし、「Build Phases」を選択し、「Link Binary with Libraries」項目の下で「+」ボタンをクリックして、フレームワークを追加します。

  2. クリックを実装するクラスのヘッダー ファイルに次を追加します。

     #import <AudioToolbox/AudioToolbox.h>
    
  3. キーボードのクリック音を表示したい場所に、クラスの実装ファイルに次のコード行を追加します。

     AudioServicesPlaySystemSound(0x450);
    

それでおしまい!そしてそれは働いた!!! ハレルヤ!

他のフォーラムのポールによると、これには次の欠点があります。

「キーボードのキーは、キーボード サウンドのオン/オフに関する iOS ユーザー設定の影響を受けません。」

しかし、iPhone の音量を上げ下げしたり、iPhone をミュートしたりすると、キーボードのクリック音が期待どおりに上下したり、ミュートされたりします。文書化されているようにキーボードクリック「UIInputViewAudioFeedback」を実装することは不可能であることがわかったので、何かがうまくいったことをうれしく思います。

PS誰かが実際のプロジェクトへのリンクを持っていて、iPhoneでダウンロード、ビルド、実行して、適切に実装する方法を正確に確認できる場合:「UIInputViewAudioFeedback」を見てみましょう。しかし、これまでのところ、それを機能させる方法についてのステップバイステップの初心者スタイルの指示も見つかりませんでした.

[2012 年 9 月 30 日更新:]この方法を使用して、私のアプリがアプリ ストアに承認されました。ここにあります:https ://itunes.apple.com/app/fine-tip-tip-calculator/id563429225

...デール

于 2012-09-15T04:40:27.437 に答える
7

を試してくださいUIDeviceplayInputClick

[[UIDevice currentDevice] playInputClick];

ドキュメントから:

このメソッドを使用して、ユーザーがカスタム入力またはキーボード アクセサリ ビューをタップしたときに、標準のシステム キーボード クリックを再生します。クリックは、ユーザーが [設定] > [サウンド] でキーボード クリックを有効にした場合、および入力ビュー自体が有効で表示されている場合にのみ再生されます。

ドキュメントに従って、UIInputViewAudioFeedback入力ビュー クラスでプロトコルを採用し、enableInputClicksWhenVisiblereturn へのデリゲート メソッドを実装していることを確認してください。YES

編集- デリゲート メソッドの実装については、カスタム入力ビューに関する Apple のドキュメントを参照してください。

于 2012-09-04T00:12:24.903 に答える