ios震动和播放铃声

- (id)initSystemShake

{

    self = [super init];

    if (self) {

        sound = kSystemSoundID_Vibrate;//震动  ipod不支持系统振动

    }

    return self;

}

 

- (id)initSystemSoundWithName:(NSString *)soundName SoundType:(NSString *)soundType

{

    self = [super init];

    if (self) {

        NSString *path = [NSString stringWithFormat:@"/System/Library/Audio/UISounds/%@.%@",soundName,soundType];

        //[[NSBundle bundleWithIdentifier:@"com.apple.UIKit" ]pathForResource:soundName ofType:soundType];//得到苹果框架资源UIKit.framework ,从中取出所要播放的系统声音的路径

        //[[NSBundle mainBundle] URLForResource: @"tap" withExtension: @"aif"];  获取自定义的声音

        if (path) {

            OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path],&sound);

            

//            if (error != kAudioServicesNoError) {//获取的声音的时候,出现错误

//                sound = nil;

//            }

        }

    }

    return self;

}

 

- (void)play

{

    AudioServicesPlaySystemSound(sound);

    //AudioServicesPlayAlertSound(sound);

}

- (void)playshake // 系统震动

{

     AudioServicesPlaySystemSound(sound);

    //AudioServicesPlayAlertSound(sound);

}

 

- (void)dealloc

{

    if (sound)

    {

       //AudioServicesDisposeSystemSoundID(sound);

    }

}

 

 

 

// --------------------点击播放-----------------

- (IBAction)systemshake:(id)sender {

    PlaySound *sound = [[PlaySound alloc] initSystemShake];

    [sound plays];

}

 

- (IBAction)systemaudio:(id)sender {

    PlaySound *sound = [[PlaySound alloc] initSystemSoundWithName:@"sms-received1" SoundType:@"caf"];

    [sound play];

}

posted @   super1250  阅读(320)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示