2009-02-25 7 views
30

を使用してDTMFを渡す:は、プログラムの電話番号をダイヤルし、どのようにプログラムでiPhone SDKから次の操作を実行しないiPhone SDK

  1. プログラムでバイパスインクルード

  2. iPhone SDK

    を通じて電話番号をダイヤル ダイヤル/キャンセル iPhoneが起動するプロンプト

  3. プログラムのやり方と同じように、ダイヤルした後に追加のDTMFを送信してください。 ne。

私はあなたがtel://電話をかけることができます知っているが、問題は、それがダイヤルを起動します/プロンプトキャンセルし、その後、それが送信されることから、将来のDTMFを防ぐことです。

答えて

30

iPhone SDKでは、ダイヤル番号に直接アクセスすることはできません(あなたの電話に「悪い」プログラムがあった場合、ミュート時に分当たりの料金をダイヤルして気付かなかったと想像してください)。

ただし、telリンクを使用すると、ポーズを挿入する "、"文字を送信できるはずです。

それではあなたはTEL使用するタッチトーンで12345#を行い、その後、4秒待って、555-1212ダイヤルする:12345#5551212

チェックアウト https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html

-Adam

+0

tel://メソッドの問題は、Dial/CancelプロンプトがiPhoneに番号の前のdtmfを無視させることです。実際の数字を過ぎてdtmfを成功させたコードはありますか? –

+0

ウェブページからのtel:urlはその問題を抱えていますが、実際のアプリケーションではそうではありません:http://forums.macrumors.com/showthread.php?t=484177 iPhoneアプリケーションを作成しようとしていますか?またはwebapp? –

+0

これはSDKベースのiPhoneアプリケーションですが、私の最初のテストはウェブページtel:// callsの周りでした。私はSDKのDTMFを試してみる –

-1

これはできません。 SDKでは、この詳細レベルで電話機能を制御することはできません。

0

実際には、私は次のように試しました:555-555-4822 EXT 8030

ダイヤルを押してもいくつかのトーンが送信されているようです(pの数は秒数を表します)。しかし、トーンは予想どおり遠端で応答されていないため、何かがまだまだ不安です。

これはうまくいきますが、タイミングの問題が発生しやすくなります(555-555-4822、8030)。これは接続後1秒間(2秒になる)一時停止し、 8030トーン上記アダムのAppleデベロッパリンクあたり

2

、iPhoneがサポートする電話リンクスキームのためのさまざまなオプションについての詳細を説明し、このRFCリンクがあります -

http://www.ietf.org/rfc/rfc2806.txt

これは、少なくともあなたが挿入することができますURLに「p」を付けて中断しますが、たくさんのオプションが指定されています再要求されます)。それ以外は何ですか?

18

私は皆があなたが傾けると言う理由を知らない... CAN

NSString *phoneNumber = @"15555551212"; 
NSString *dtmfAfterPickup = @"1234"; 
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]]; 

これは/プロンプトキャンセルダイヤルをバイパスしにphoneNumberをダイヤルします...コールが応答されてから1秒後、dtmfAfterPickup文字列が自動的にダイヤルされます。

その良いアイデアdetect whether or not the device support phone calls

+0

dtmfAfterPickup文字列にカンマを挿入することで、さらに1秒の休止を追加できます。 NSString * dtmfAfterPickup = @ "1,2,3,4";これにより、各番号の後に1秒の一時停止が追加されます – AlBeebe

+0

APIを使用して電話の会話を記録することはありませんか? –

+1

iOS SDKで電話を録音する方法がありません – AlBeebe

1

に私はCoronaSDKとのOpenURL APIを使用して私のiPhoneで試してみました。 非常にうまく動作します! 次のようにしてください:system.openURL( "tel:[phonenumber]、123")。 additinalカンマでさらに待つことができます。 Corona SDK/iOS7でテスト済みです。

関連する問題