ios播放声音和振动

记录下自己是怎么实现本地推送(LocalNotification)的,以及播放声音、振动的实现 本地推送scheduleLocalNotification 播放系统声音+振动,循环播放-----停止播放 阅读详情

首先需要引入头文件:

#import <AudioToolbox/AudioToolbox.h>

下面是方法

========================1.播放声音===============================

/**

 *  系统铃声播放完成后的回调
 */
void SystemSoundFinishedPlayingCallback(SystemSoundID sound_id, void* user_data)

{

   //通过传递的SoundID,当播放完声音时,结束掉声音

    AudioServicesDisposeSystemSoundID(sound_id);
}


// 播放接收到新消息时的声音
- (SystemSoundID)playNewMessageSound
{
    // 要播放的音频文件地址
    NSURL *bundlePath = [[NSBundle mainBundle] URLForResource:@"bundle的路径" withExtension:@"bundle"];
    NSURL *audioPath = [[NSBundle bundleWithURL:bundlePath] URLForResource:@"in" withExtension:@"caf"];
    // 创建系统播放声音,同时标识一个声音的ID
    SystemSoundID soundID;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)(audioPath), &soundID);
    // 注册声音,同时监听播放完后回调。
    AudioServicesAddSystemSoundCompletion(soundID,
                                          NULL, // NULL为主循环
                                          NULL, // 循环的模式为kCFRunLoopDefaultMode
                                          SystemSoundFinishedPlayingCallback, // 回调函数,并播放声音
                                          NULL // 为了data设置的,我们不需要设置,所以设置为 NULL
                                          );
    //播放声音
    AudioServicesPlaySystemSound(soundID);
    
    return soundID;

}


=========================2.播放振动==============================

// 震动
- (void)playVibration
{
    // Register the sound completion callback.
    AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate,
                                          NULL, // uses the main run loop
                                          NULL, // uses kCFRunLoopDefaultMode
                                          EMSystemSoundFinishedPlayingCallback, // the name of our custom callback function
                                          NULL // for user data, but we don't need to do that in this case, so we just pass NULL
                                          );
    
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}


iphone 短信发送成功音效 iphone 短信发送成功音效 xray audio vedio 立即下载

相关推荐

Skynet 框架面试题

本文整理了游戏服务端开发面试中 Skynet 框架的高频考点,涵盖底层架构、消息派发、协程调度、网络 I/O、harbor 跨机通信、内存管理、socket 处理、阻塞操作、错误处理等核心内容。全面覆盖 Skynet 框架的原理、使用和实战问题,追求深入准确,拒绝八股文。

小赖的博客 383

iOS录音麦克风和系统震动的"冲突"

麦克风开启的情况下,主动调取震动是被禁止的,用混音模式可以实现解决,具体需要,根据实际情况 主动调取系统震动:AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)

develop_csdn的博客 2256

TwinCAT3 主站动态配置 PDO 的实战技巧与性能优化

本文深入探讨了TwinCAT3主站动态配置PDO的实战技巧与性能优化策略。通过对比静态PDO的局限,阐述了动态配置在提升系统灵活性、降低网络负载和保障实时性方面的核心优势。文章提供了从环境准备、代码实现到错误排查的完整流程,并重点解析了PDO映射、SDO通道区别以及分布式时钟同步等关键概念,帮助工程师掌握EtherCAT网络性能调优的核心方法。

weixin_29213525的博客 346

iOS 播放音频的几种方法

但是官方的示例只有一些简单的用法,从文档中我们发现可以通过 AudioServicesAddSystemSoundCompletion 方法为音频播放添加 CallBack 函数,有了 CallBack 函数我们可以解决不少问题,比如可以克服 System Sound Services 本身不支持循环播放的问题。//使用NSData创建。AVAudioPlayer 可以播放任意长度的音频文件、支持循环播放、可以同步播放多个音频文件、控制播放进度以及从音频文件的任意一点开始播放等,更高级的功能可以参考。

feelinghappy的专栏 1792

手把手教你用MSPM0G3507和TB6612驱动MG513X电机(附完整代码与PID调速)

本文详细介绍了如何使用MSPM0G3507微控制器和TB6612驱动模块控制MG513X电机,包括硬件连接、软件配置、编码器测速和PID调速等关键步骤。通过完整的代码示例和PID算法实现,帮助开发者快速掌握电机驱动技术,适用于智能小车、机械臂等嵌入式项目。

weixin_30254435的博客 341

卡方分布的前世今生:一个统计概念的演化史

本文追溯了卡方分布从19世纪末的理论雏形到现代统计推断核心工具的发展历程。从Karl Pearson的数学奠基到Ronald Fisher的理论完善,卡方分布在医学研究、社会科学和机器学习等领域展现出广泛应用。文章通过代码示例和性质分析,揭示了这一统计概念如何持续推动数据科学创新。

weixin_29251567的博客 392

ios 简单系统提示音

此方法为获取音频文件的相关信息  NSString *audiopath = [[NSBundle mainBundle]pathForResource:@"9415" ofType:@"wav"];     NSURL * audioURL = [NSURL fileURLWithPath:audiopath];     AudioFileID audioFile;     //打开

NoPolun_iOS的博客 3377

iOS 播放音频的几种方式

对于比较短促的声音,比如系统的推送声音和短信声音,官方要求不要超过30s。开始播放NSString *filePath = [[NSBundle mainBundle] pathForResource:@"done" ofType:@"wav"]; NSURL *fileUrl = [NSURL URLWithString:filePath]; SystemSoundID soundID = 0;

Anybody capable of love is capable of being saved. 1万+

基于Python的FTA协定内容爬虫实战:从数据抓取到智能分析

本文将详细介绍如何使用Python构建一个高效的FTA(自由贸易协定)内容爬虫,涵盖最新技术如Playwright、异步IO、智能解析等。通过本教程,您将学会如何从各类政府网站和国际组织平台抓取结构化FTA数据,并对其进行清洗、存储和分析。文章包含完整的代码实现和最佳实践指南,适合中高级Python开发者学习网络爬虫开发。

2201_76125261的博客 993

Spring Boot 调用豆包大模型如何开启联网搜索?

场景推荐方案有权限创建 Bot + 需强集成✅ 使用bot-xxxx无 Bot 权限 / 追求通用性✅ 自行集成搜索引擎 + 普通豆包模型仅需基础对话❌ 无需考虑联网豆包大模型确实支持联网搜索,但前提是:你用的是“智能体 Bot”,且它被配置了“网页搜索”插件,并调用正确的 API 端点。希望本文能帮你少走弯路,快速构建出真正“知天下事”的智能助手!

lpfasd123的博客 1124

iOS中声音播放的各种方法总结

这两天禁(晋)烟(嫣)的秀恩爱,身为程序员的我们又被默默的送了一把狗粮,这段时间一直在忙公司项目,两个多月都没有写过文章了,今天闲来无事想把iOS中播放音乐(包括段音效)的部分拿出来总结一下。 主要部分: 1.音效的播放 2.音乐的播放(本地, 网络) 3.音频队列服务 1.音效播放(AudioToolbox/AudioToolbox.h) 音频文件必须打包成.caf、.aif、.wav中...

wenzfcsdn的专栏 3009

数据挖掘实战-基于决策树算法构建北京市空气质量预测模型

通过分析这些数据,我们将利用决策树算法建立预测模型。决策树算法具有直观易懂、分类效果好等优点,适合用于此类预测问题。我们将采用适当的方法对模型进行训练和优化,以提高预测精度。最终,我们将评估模型的预测效果,并探讨其在实际应用中的可行性和潜在价值。希望通过本实验,能为北京市的空气质量改善工作提供一定的支持。通过基于决策树算法构建的北京市空气质量预测模型的实验研究,我们在多方面取得了显著的进展。首先,我们成功地整合了来自气象、环保、交通等多个领域的大量数据,形成了一个全面而综合的空气质量分析框架。

m0_64336780的博客 2万+

iOS——播放声音和振动

导入框架: 代码: [cpp] view plaincopy #import    #import       @interface MsgPlaySound : NSObject   {       SystemSoundID sound;//系统声音的id 取值范围为:1000-2000   }

会飞の马 610

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

iOS 系统声音和振动

使用系统的方法来实现铃声和振动的效果

九夜白的博客 648

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS调用系统声音和振动

最近做app应用内的提示声音设置(包括振动设置),网上找了些资料,总结了下。MarkDown 1,首先导入系统的框架 #import  2,可以直接调用方法AudioServicesPlaySystemSound(SystemSoundID),其中SystemSoundID取值为1000--2000。这种方法调用之后,不仅会播放声音,还会振动(如果你的手机开启了响铃振动)。而且你需要知道

new_code_career的专栏 1380

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ios如何播放系统声音

导入系统库 AudioToolbox.framework #import @interface VoiceUtil : NSObject + (instancetype)instance; #pragma mark-发出报警的声音 -(void)playSystemSound; -(void)initSy

chengjinxiu2的专栏 713

php播放一个提示音,IOS 播放系统提示音使用总结(AudioToolbox)

IOS 播放系统提示音使用总结(AudioToolbox)开发过程中需要用到苹果自带的系统提示音,下面我总结了一下关于系统提示音播放的方法第一步首先得导入AudioToolbox框架#import 播放系统自带的提示声播放系统自带的提示声很简单,只需要两行代码就能搞定了://定义一个SystemSoundIDSystemSoundID soundID = 1000;//具体参数详情下面贴出来//播...

weixin_36173545的博客 337

ios 中添加frameworok,实现软件声音和振动

1.点击target 2.选择【build phases】 3.

dw_lucky的专栏 463

提醒窗口,单按钮,多按钮,播放声音,播放声音振动

// //  ViewController.m //  GettingAttention // //  Created by John Ray on 7/27/13. //  Copyright (c) 2013 John E. Ray. All rights reserved. // #import "ViewController.h" @interface Vi

tik11的专栏 372

Delphi FireMonkey 振动手机

参考链接: How to vibrate iOS and Android phones using FireMonkey and XE8 (embarcadero.com) 实测以下代码在 D10.4 社区版,OPPO 手机上运行成功。 前提:安卓系统,需要设置工程文件里面的用户权限: 需要 Vibrate 权限,在 Project - Options - UserPermissions 里面,找到 Vibrate ,勾选。 以下是全部测试代码: unit Unit1; interface

pcplayer的博客 321

iOS 8 新特性初学:UIAlertController

iOS 8.0 添加了一个新的类UIAlertController用来取代曾经的

关东糖的专栏 1万+

简单的实现播放背景音乐(淡入淡出效果)

最近在开发幻灯片的需求,首先确认项目里已经加入AudioToolbox.framework。 在此放上背景音乐播放的代码,添加淡入淡出效果,重温一下计时器的知识点。 头文件 QZSoundBoard.h 内容如下 #import #import @interface QZSoundBoard : NSObject + (void)addSoundAtPath:(NSString *)

david21984的专栏 4763

Piano项目推荐

Piano项目推荐 项目基础介绍和主要编程语言 Piano是一个基于iOS平台的开源项目,主要使用Swift编程语言开发。该项目旨在为iOS开发者提供一个便捷的工具,用于播放声音效果和利用Taptic Engine振动反馈,从而增强应用程序的用户体验。 项目核心功能 Piano的核心功能包括: 声音播放:支持播放自定义音频文件和系统预定义的声音。 振动反馈:利用Taptic Engine提供多种...

gitblog_00561的博客 320

android极光推送声音,解决极光推送后台接收到推送消息,无提示音不震动

----以下方法前提确保你的设备,打开了此APP的通知提示。正题------我遇到的情况是,安卓客户端是有提示音和振动提示的。iOS端在极光的web后台编辑消息 推送到我的手机有提示音和振动,通过我自己的后台推送的消息就没有提示音和振动。下面贴上一段后台的代码//向IOS平台推送消息 JpushHelper.getJPushClient().sendPush(JpushHelper.buildPu...

weixin_32503531的博客 2080

IOS开发的各种坑

1.任何项目和功能模块,在没有写代码之前,就要把

落雨惊风的技术博客 656
上一篇: app常用
下一篇: socket大全
hsf_study
博客等级 码龄11年 10粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值