IOS 播放系统提示音使用总结(AudioToolbox)

IOS 播放系统提示音使用总结(AudioToolbox)

开发过程中需要用到苹果自带的系统提示音,下面我总结了一下关于系统提示音播放的方法

第一步首先得导入AudioToolbox框架

#import <AudioToolbox/AudioToolbox.h>

播放系统自带的提示声

播放系统自带的提示声很简单,只需要两行代码就能搞定了:

//定义一个SystemSoundID
 SystemSoundID soundID = 1000;//具体参数详情下面贴出来
 //播放声音
 AudioServicesPlaySystemSound(soundID);

关于SystemSoundID的相关参数介绍和系统所有的铃声的介绍

播放自定义的提示声,既有声音也带振动

- (void)playNotifySound {
 //获取路径
 NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
 //定义一个SystemSoundID
 SystemSoundID soundID;
 //判断路径是否存在
 if (path) {
  //创建一个音频文件的播放系统声音服务器
  OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
  //判断是否有错误
  if (error != kAudioServicesNoError) {
   NSLog(@"%d",(int)error);
  }
 }
 //播放声音和振动
 AudioServicesPlayAlertSoundWithCompletion(soundID, ^{
  //播放成功回调
 });
}

只有振动没有声音

 //手机只振动没声音
 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

只有声音不带振动

//必须得是自定义的声音,经过测试系统的声音好像都带振动
- (void)playNotifySound {
 //获取路径
 NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
 //定义一个带振动的SystemSoundID
 SystemSoundID soundID = 1000;
 //判断路径是否存在
 if (path) {
  //创建一个音频文件的播放系统声音服务器
  OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
  //判断是否有错误
  if (error != kAudioServicesNoError) {
   NSLog(@"%d",(int)error);
  }
 }
 //只播放声音,没振动
 AudioServicesPlaySystemSound(soundID);
}

上面是我关于提示声使用的一些技巧,希望大家能学到东西,如果有不足希望大家给予补充,谢谢阅读!

(0)

相关推荐

  • iOS 实现简单的加载等待动画示例(思路与实现)

    先看下最后基本要实现的效果 总结一下自己的实现思路与所用到的类 1.这个肯定是要自定义的View类,起名为XDColorCircle吧,最后用的时候达到这样的效果 //创建XDColorCircle的实例化对象 XDColorCircle *circle=[[XDColorCircle alloc]initWithFrame:CGRectMake(0 ,100,self.view.frame.size.width,200)]; //添加到视图上展示 [self.view addSubview:c

  • vue-axios使用详解

    vue-axios GET请求 axios.get("/user?id=1") .then(function(response){ }) .catch(function(error){ }) POST请求 axios.post('/user', { firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (erro

  • Java使用NioSocket手动实现HTTP服务器

    NioSocket简单复习 重要概念 NioSocket里面的三个重要概念:Buffer.Channel.Selector Buffer为要传输的数据 Channel为传输数据的通道 Selector为通道的分配调度者 使用步骤 使用NioSocket实现通信大概如以下步骤: ServerSocketChannel可以通过configureBlocking方法来设置是否采用阻塞模式,设置为false后就可以调用register注册Selector,阻塞模式下不可以用Selector. 注册后,S

  • VUE 更好的 ajax 上传处理 axios.js实现代码

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法. 首先就是引入axios,如果你使用es6,只需要安装axios模块之后 import axios from 'axios'; //安装方法 npm install axios //或 bower install axios 当然也可以用script引入 <script src="https://unpkg.com/axios/dist/axios.min

  • IOS 单击手势的添加实现代码

    IOS 单击手势的添加实现代码 一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UIGestureRecognizerDelegate> @end RootViewController.m #import "RootViewController.h" @interface RootV

  • iOS 拦截重定向302跳转的方法详解

    一:前言 公司同事在做项目的时候遇到一个302地址跳转的问题,具体需求如下: 1.公司是做WIFI覆盖的,需要在下载APP后才能注册登录以后,自动连接到外网 2.苹果底层不允许我们码农进行WIFI的切换,所以公司考虑使用302重定向来实现,我通过2种方法来实现,NSURLConnetion和NSURLSession 二:NSURLConnetion方法 大概的思路:使用NSURLConnetion类的NSURLConnectionDataDelegate中的代理方法 复制代码 代码如下: -

  • IOS 开发获取本地图片路径及上传

    1.获取沙盒路径 NSString *path_document=NSHomeDirectory(); //设置存储文件路径!!!!!!文件路径的名字一定要区分开 NSString *imagePath=[path_document stringByAppendingString:[NSString stringWithFormat:@"/Documents/%@%@%@.png",_shopObj.shopPicture,_shopObj.shopColor,self.shopObj

  • 详解axios在vue中的简单配置与使用

    一.axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征: 从浏览器中创建 XMLHttpRequest 从 node.js 发出 http 请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换JSON数据 客户端支持防止 CSRF/XSRF 二.引入方式: npm: $ npm install axios //淘宝源 $ cnpm install axios bower: $ bowe

  • IOS 播放系统提示音使用总结(AudioToolbox)

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

  • android 震动和提示音的实现代码

    android的消息提示(震动和提示音),实现代码如下所示: public class VibratorUtil { protected AudioManager audioManager; protected Vibrator vibrator; private Ringtone ringtone; private static final int MIN_TIME_OUT = 4000; //时间间隔 long lastNotificationTime; public VibratorUti

  • jquery控制背景音乐开关与自动播放提示音的方法

    本文实例讲述了jquery控制背景音乐开关与自动播放提示音的方法.分享给大家供大家参考.具体如下: 很多人初学网页制作时在网页中加入一段背景音乐,听到音乐响起的那一刻往往都会有一丝的成就感. 这里就为大家讲解如何使用js控制背景音乐播放与停止.具体如下: 一.jquery控制背景音乐开关 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"  "http://www.w3.org/TR/xhtml11/

  • Android仿微信新消息提示音

    怕有些人不知道怎么进入微信的新消息提示音功能,我这里说下操作步骤: 打开微信----我---设置---新消息提醒---新消息提示音. 经过以上的步骤就进入了这样的界面 具体实现的步骤. 难点之一:获取到手机系统的提示音,并将它们显示在一个listview里面. 参考如下代码: // 获得RingtoneManager对象 RingtoneManager manager = new RingtoneManager(this); // 设置RingtoneManager对象的类型为TYPE_NOTI

  • iOS中 LGLAlertView 提示框的实例代码

    使用与iOS8 以后,只是把系统的UIAlertController进行了封装,省的每次用的时候要写很多的代码.封装后只需要一句代码即可 , deome 地址 :https://github.com/liguoliangiOS/LGLAlertView.git 上代码LGLAlertView.h: #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> typedef NS_ENUM(NSInteger, LGLAlert

  • android开发之蜂鸣提示音和震动提示的实现原理与参考代码

    最近在读zxing项目,学到了不少东西.推荐大家也读读.里面有个BeepManager类,实现一个蜂鸣音和震动的实现.我们一起来看看他是怎么做的: 蜂鸣 1.准备一个 音频文件 比如:beep.ogg. ogg格式是声音压缩格式的一种,类似mp3这样.我们准备播放它,就产生了蜂鸣的效果. 2.为activity注册的默认 音频通道 . activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); 这里声明为 STREAM_MUSIC的通道

  • Android 实现电话拦截及拦截提示音功能的开发

    本文所讲的内容是在Android系统中如何写程序进行电话拦截,并发出拦截提示音提醒用户,可以说此功能还是比较实用的.        1.电话拦截 这个功能大家可能都知道了,就是利用反射原理调用ITelephony的隐藏方法来实现.        2.拦截后提示忙音/空号/已关机/已停机 这个功能其实是要用到MMI指令,具体如何设置呼叫转移的指定可以参考这里 http://baike.baidu.com/view/206402.html?fromTaglist. 在本文中我们会用到"遇忙转移&qu

  • 基于JavaScript实现报警器提示音效果

    原型图: 项目需求: 服务器接受到报警后将消息推送到前台,(通过前端实时消息提示的效果-websocket长轮询),前台接受到消息后需要发出警报提示音,提醒用户. 原理: 很简单,使用html5里面的<audio>标签即可实现,在铃声的官网上选择一段报警的音频,放在代码里面即可. 代码片段: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding=&q

  • Vue自定义铃声提示音组件的实现

    目录 背景/前言 组件的使用 安装 加载 组件生效 组件参数 使用默认音效 关于open参数的解释 项目地址 背景/前言 之前的一个功能需求,需要在页面接收消息,一旦有了新消息之后,需要用铃声进行提醒. 因为没有找到类似的比较便捷的组件,所以就自己写了一个.然后想着能不能尝试下做成一个公共的组件,发布出去让其他开发者也用用?于是就试着写了一个项目(项目地址在最后),发布成了npm包. 目前这个组件已经发布到了npm上,欢迎大家试用.如果有好的建议,或者找到了更好的类似组件,欢迎指出和分享~ 下面

  • android系统按键音framework流程源码详细解析

    android 系统按键音framework源码解析(基于android 9.0) 今天来看下android中按键音的处理,首先看下按键是在那里开启的.然后再看看当按下按键后一个按键音是怎么播放出来的. 1.首先在setting app里面 SoundFragment.java private void setSoundEffectsEnabled(boolean enabled) {             mAudioManager = (AudioManager) getActivity(

随机推荐