1. 程式人生 > >iOS推送訊息push,語音播報

iOS推送訊息push,語音播報

iOS 10 開始支援1. xcode - >file -> new -> target 選擇iOS下面的,Notification Service Extension
  • Service Extension 中收到推送之後,用AVSpeechSynthesisVoice相關類,直接把推送過來需要播報相關的文字轉化成語音播報
  • ServiceExtension中收到推送之後,將要播報的數字,找到對應的單個音訊,排序,用拼接音訊的方式<通過推送過來的文字去查詢相關的音訊,然後拼接成一個音訊>,然後使用AudioServicesCreateSystemSoundID播放
程式碼: 1. #import <AVFoundation/AVFoundation.h>2. 新增方法- (void)playVoiceWithAVSpeechSynthesisVoiceWithContent:(NSString *)content { if (content.length == 0) { return; } // 聲音選擇中文 AVSpeechSynthesisVoice *voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-CN"]; // 建立語音合成器 AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init]; // 例項化發聲的物件 AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:content]; utterance.voice = voice; utterance.rate = 0.5; // 朗讀的內容 [synthesizer speakUtterance:utterance];}3. 在- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {} 方法裡面 呼叫此方法 [self playVoiceWithAVSpeechSynthesisVoiceWithContent:self.bestAttemptContent.body];

相關推薦

iOS訊息push語音播報

iOS 10 開始支援1. xcode - >file -> new -> target 選擇iOS下面的,Notification Service Extension Service Extension 中收到推送之後,用AVSpeechSynthesi

ios極光 App收到訊息修改BadgeNumber同時點選狀態列訊息以後跳到指定的頁面和靜默

極光推送生產環境測試需要打包為adhot或者用testflight 在收到遠端推送的訊息的時候,有以下三種情況需要考慮: 1. 程式在後臺執行 2. 程式未執行 3. 程式執行在前臺 原則上,應用在收到推送訊息時,badge的值是由後臺來控制的,但是,目前的大多數公司後端都

解決BlazeDS基於Streaming通道訊息IE11+Flex無法收到訊息問題

服務端BlazeDS走StreamingAMF通道時,在別的瀏覽器下flex都執行正常,唯獨IE11不能收到推送訊息,但普通的remoting正常。原因是IE11改了UserAgent,導致UserAgent無法識別所致,解決辦法: 開啟service-config.xml

IOS訊息處理跳轉指定頁面

APP有UITabbarController、UINavigationController; 主頁:FirstViewController 指定頁:MyViewController @interfa

IOS 訊息 php做服務端

IOS推送訊息是許多IOS應用都具備的功能,最近也在研究這個功能,參考了很多資料終於搞定了,下面就把步驟拿出來分享下: iOS訊息推送的工作機制可以簡單的用下圖來概括: Provider是指某個iPhone軟體的Push伺服器,APNS是Apple

iOS 退款(或訂單)訊息語音播報

近期無知經理突然提出一個蛋疼的需求,並表示這是“客戶和市場強制要求”做的。。。沒辦法,只能硬著頭皮上了。之前採用的是靜默推送+普通推送,而且網上大部分資料也預設使用的是靜默推送方式。據我所知,該方案有一

iOS 後臺語音播報

推送通知 注意:這裡說的推送通知跟NSNotification有所區別NSNotification是抽象的,不可見的推送通知是可見的(能用肉眼看到)iOS中提供了2種推送通知本地推送通知(Local Notification)遠端推送通知(Remote Notification) 推送通知的呈現效

iOS 極光訊息成功但是手機收不到的解決方法。

1.確認證書是否與app的Bundle ID是否一致 2. 確認你的推送證書是否已經過期 3.確認你的APP_KEY是否和極光APP_KEY是否一致 4.正確呼叫bindChannel,併成功返回a

MUI中點選訊息若為同類型資訊不關閉前一個頁面開啟新頁面仍顯示前一個頁面資料的問題

最近公司在做的一個專案涉及個推推送,在寫推送過程中遇到了很多問題,現在把其中的一個問題與大家分享。 我們要實現的功能是後臺推送過來,我要根據推送的資訊型別進入不同的頁面,展現不同的資訊,但在寫的過程中發現同一種類型資訊,在不關閉前一條資訊的情況下,點選下一條同類型的資訊,開啟的頁面還是顯示上

iOS 打包ipa後無法收到訊息的解決方法

最近在做專案的時候在推送上面遇到了一個問題,用Xcode在真機上執行除錯時可以正常收到推送訊息,但是將專案打包測試包出來後安裝到真機上無法收到推送,猜想問題肯定是出在證書上,因為iOS推送有一個開發證書和一個生產證書,用Xcode在真機執行肯定是開發環境,打包ipa包後收不到推送,很有可能打包測試i

React Native 極光的實現支援Android和iOS

在接到需求後對如何實現進行了預研,發現有極光官網維護的 jpush-react-native 和 React Native 中文網維護的 react-native-jpush 供我們使用,我選擇的是 jpush-react-native。 一,相關版本資訊 { "nam

使用PushSharp給iOS應用訊息

PushSharp是一個C#編寫的服務端類庫,用於推送訊息到各種客戶端,支援iOS(iPhone/iPad)、Android、Windows Phone、Windows 8、Amazo、Blackberry等裝置。 主要特點 提供了易於使用的API,支援以下平臺的訊息推送: 100%

[微信公眾號]php版模擬登入向指定使用者訊息

模擬登入程式碼: <?php /* 呼叫方式簡單說明: $arr = array( 'account' => '公眾平臺帳號', 'password' => '密碼' ); $postMsg = new postMsg($arr); $p

[微信公眾號]php版模擬登入向指定使用者訊息目前

<?php /* 呼叫方式簡單說明: $arr = array( 'account' => '公眾平臺帳號', 'password' => '密碼' ); $postMsg = new postMsg($arr); $postMsg->getAllUserInfo()

伺服器端接入有盟實現為android 和 ios的功能

       在伺服器端要做可以主動推送給客戶端一些提示資訊,比如會員到期,有人讚了你的評論,有人關注你這樣的提示資訊,        作為新手,暫時還不能自己寫一些restful的東西,藉助有盟現成的推送api,做一下記錄,方便以後使用。        有盟開發文件 ht

iOS—接收到APNs遠端訊息時的處理流程

當iOS接收到遠端推送訊息時會根據當前應用狀態傳送訊息(呼叫方法),此時我們需要在UIApplication代理中進行業務邏輯的處理。 第1種狀態:退出 當應用處於完全退出時,點選接收到的推送訊息會啟動應用並回調下面的方法: - (BOOL)application:(UI

iOS極光 點選訊息跳轉頁面

最近在搞極光推送,之前用的百度推送,但是訊息延遲的厲害,就換了極光,換就換吧,無所謂反正我不會,於是就開始看極光推送文件,心裡罵著跟百度的文件詳細程度不能比啊,文件很短一會兒就看完,其實文件的主要程式碼這些推送平臺都一樣,說到這我想吐槽一下,本來以為推送很容易,實際就是容易

iOS 容聯雲 生產證書在控制檯失效 甚至 刪除都有離線訊息的bug

file:///Users/ouyangrong/Library/Containers/com.tencent.qq/Data/Library/Application%20Support/QQ/Users/3280659788/QQ/Temp.db/9BE4

Android訊息接收後通知欄的顯示

訊息推送接收到後,顯示通知欄 public static void showNotifictionIcon(Context context) { NotificationCom

iOS根據訊息彈出指定介面

iOS的推送收到推送訊息有三種情況 1:程式在已經退出(程式被系統殺死的時候) 2:程式在後臺掛起的時候(按Home鍵或者下拉檢視通知列表的時候) 3:程式在前臺執行的時候 當程式退出的時候,點選推送訊息會呼叫的方法是: - (BOOL)application:(UIA