如何在 iOS 7 上获得拨号盘蜂鸣声

问题描述 投票:0回答:3

如何在 iOS 7 上获得拨号盘蜂鸣声。

我的应用程序中有一个拨号盘,并且想使用 iOS 7 拨号盘声音。如图所示 enter image description here

我尝试了一些其他方法,但不正确,并且在设备静音时声音不会减弱。

谢谢你。

ios7 uibutton
3个回答
3
投票

可以使用以下简单的声音技巧。

NSUInteger toneID = 1200 + value;
AudioServicesPlaySystemSound((SystemSoundID)toneID);

这里

value
是0到11之间的数字。

0-9 代表键盘数字,10 代表星号,11 代表哈希值。

请注意,Apple 在 AppStore 中接受此代码没有任何问题。从 2014 年至今,我的许多应用程序都在 AppStore 上。


2
投票

首先在音频框中导入 .wav 音频文件 0 到 9 并正确命名它们,就像我在这里为 DTMF_00.wav 到 DTMF_09.wav 这样的文件编写代码一样,所以你必须根据你的意愿命名这个文件,但请记住,你必须更改

NSString *toneFilename = [NSString stringWithFormat:@"DTMF_%02d", count];
这行并给出你的文件名。

然后你必须

#import <AudioToolbox/AudioToolbox.h>
都在viewController.h中

在.h文件中在接口的{}中声明

SystemSoundID toneSSIDs[10];
,如下所示

@interface yourViewController : UIViewController{
    SystemSoundID toneSSIDs[10];
}

在头文件中设置一个按钮动作事件并将其设置为所有按钮。(请记住,不要为单个按钮创建动作事件,您只需创建一个单击事件)

然后你必须在上面或下面的.m文件中编写这段代码

- (void)viewDidLoad

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if(self)
    {

        for(int count = 0; count < 10; count++){
            NSString *toneFilename = [NSString stringWithFormat:@"DTMF_%02d", count];

            NSURL *toneURLRef = [[NSBundle mainBundle] URLForResource:toneFilename withExtension:@"wav"];

            SystemSoundID toneSSID = 0;

            AudioServicesCreateSystemSoundID((__bridge CFURLRef) toneURLRef,&toneSSID);
            toneSSIDs[count] = toneSSID;
        }
    }

    return self;
}

然后

-(IBAction)numberButtonPressed:(UIButton *)pressedButton
{
    int toneIndex = [pressedButton.titleLabel.text intValue];
    SystemSoundID toneSSID = toneSSIDs[toneIndex];
    AudioServicesPlaySystemSound(toneSSID);
}

0
投票

播放系统声音 - Swift 5.9 +

@IBAction func btnDialPadNumberTapped(_ sender: UIButton) {
    // Play built-in iPhone DialPad Sound
    let toneID = UInt(1200 + sender.tag)
    AudioServicesPlaySystemSound(SystemSoundID(toneID))
}

它利用系统的内置声音功能,例如,按数字1对应于声音ID 1201。在内部,此代码链接到特定的声音文件,例如“dtmf-1.caf”,用于数字 1。

请参阅可与 AudioServices iPhone Development Wiki 一起使用的预定义 iPhone 声音列表。 有关更多信息,请查找 Apple 文档:AudioServicesPlaySystemSound(_:)

© www.soinside.com 2019 - 2024. All rights reserved.