airplay同名有两个同名wifi,一个能用一个用不成!

主题 : 关于AirPlay求助大神
级别: 新手上路
可可豆: 25 CB
威望: 25 点
在线时间: 201(时)
发自: Web Page
来源于&&分类
关于AirPlay求助大神&&&
目前有个需求,琢磨好久都没能实现,小白特此在这儿求助各位大牛!功能简述:应用内需要一个能调起AirPlay设备菜单的按钮,就像Home键向上轻划后,点击AirPlay按钮后弹出AirPlay设备菜单一样的功能。我不知道官方有没有提供调用AirPlay设备菜单的接口,望知道的大牛大神提供帮助,谢谢啦。
级别: 圣骑士
UID: 332950
可可豆: 1222 CB
威望: 1009 点
在线时间: 368(时)
发自: Web Page
AirPlay是啥玩意
级别: 新手上路
可可豆: 25 CB
威望: 25 点
在线时间: 201(时)
发自: Web Page
回 1楼(mushroom) 的帖子
简单来说就是屏幕投影或者屏幕共享。
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版推荐这篇日记的豆列
······3035人阅读
iPhone开发(394)
原文: /64623/make-narrated-book-using-avspeechsynthesizer-ios-7随着 PageViewController 的引入,苹果让开发者们制作图书类app 更加轻松。不幸的是,对于生活在朝九晚五繁忙节奏中的人们来说,阅读也是一件奢侈的事情。为什么你不能在读一本小说的同时做其他事情呢?在 Siri 刚开始出现的时候,苹果曾经用复杂的动态文本阅读将开发者拒之门外,但当iOS7 发布的时候,苹果终于放开了这扇大门。在本教程中,你将制作一本故事书。这本书的每一页都会在显示文字的同时朗读文字中的内容。有声的阅读将让你的 app 在 iTunes 中显得与众不同,同时还保护了视力。有声书尤其受广播听众的喜爱,因为它允许人们在锻炼、烹饪或工作的同时进行“阅读”。当你制作自己的有声书时, 你将学习到:如何使用 AVSpeechSynthesizer 和 AVSpeechUtterance 让 iOS 设备朗读文本How to make this
synthesized speech sound more natural by modifying AVSpeechUtterance properties like pitch and rate.如何修改 AVSpeechUtterance 属性例如 pitch 和 rate,使合成的语音更自然AVSpeechSynthesizer当然比不上真人语音,但它对于你将要开发的 app 来说,相对容易一些。注意:关于如何用 Sprite Kit 开发iPad儿童书籍,请参考Tammy Coron 的教程: 开始:AVSpeechSynthesizer首先,请下载 。进入NarratedBookUsingAVSpeechStarter 目录,双击 NarratedBookUsingAVSpeech.xcodeproj 以打开初始项目。Build & run 。你将在模拟器中看到:书的内容是关于松鼠的童谣。虽然不是亚马逊买得最火的读物,但对于本教程来说足够了。向左滑动进行向后翻页,向右滑动则返回前一页。噢,它已经拥有了基本的“书”的功能,真是不错的开始。理解机制注意:教程的最后,会留给你几个习题。接下来一节将包括示例项目的一些内容,以便你能独立完成这些习题。如果你对这部分内容不感兴趣,请跳到下一节。初始项目包括两个类:1. Models: 用于存放书籍的内容,它是page 的集合。2. Presentation: 将 models 展现到屏幕并响应用户动作(例如滑动手势)。在你制作自己的图书时,理解这两个类的工作机制是很有必要的。打开RWTBook.h:
@interface RWTBook :
@property (nonatomic, copy, readonly)
+ (instancetype)bookWithPages:(*)
+ (instancetype)testB &
@end pages 属性存放了 Page 对象的数组,每个 Page对象代表图书中的每一页。bookWithPages:&方法是一个初始化 Book 的方法,它用指定的 page 对象数组为参数,返回一个 book 对象。testBook 创建 Book 对象,用于测试。在开始加入和读取你自己的图书内容之前,就先使用
testBook 创建一个简单的 Book 吧。RWTPage.h声明如下:
extern * const
RWTPageAttributesKeyU
extern * const
RWTPageAttributesKeyBackgroundI &
@interface RWTPage :
@property (nonatomic, strong, readonly)
@property (nonatomic, strong, readonly) UIImage *backgroundI
(instancetype)pageWithAttributes:(*)
@end 常量用于从字典中检索页。RWTPageAttributesKeyUtterances常量可以检索出page 对象中的文本,RWTPageAttributesKeyBackgroundImage则用于检索
page 对象所用的背景图片。displayText 属性用于存储 page 的文本,backgroundImage 属性用于存储
page 的背景图片。pageWithAttributes:用指定的 NSDictionary
创建一个 page 实例。&RWTPageViewController.m声明如下:
#pragma mark - Class Extension
@interface
RWTPageViewController ()
@property (nonatomic, strong)
@property (nonatomic, assign)
NSUInteger currentPageI
@implementation
RWTPageViewController &
#pragma mark - Lifecycle
- (void)viewDidLoad
&& [super viewDidLoad];
&& [self setupBook:[RWTBook
testBook]];
UISwipeGestureRecognizer *swipeNext = [[UISwipeGestureRecognizer
alloc]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initWithTarget:self&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
action:@selector(gotoNextPage)];
&& swipeNext.direction = UISwipeGestureRecognizerDirectionL&& [self.view
addGestureRecognizer:swipeNext];
& &UISwipeGestureRecognizer *swipePrevious
= [[UISwipeGestureRecognizer
alloc]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initWithTarget:self&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&action:@selector(gotoPreviousPage)];
&& swipePrevious.direction = UISwipeGestureRecognizerDirectionR
&& [self.view addGestureRecognizer:swipePrevious];
#pragma mark - Private
- (RWTPage*)currentPage {
&& return [self.book.pages
objectAtIndex:self.currentPageIndex];
- (void)setupBook:(RWTBook*)newBook
&& self.book = newB
self.currentPageIndex = 0;
&& [self setupForCurrentPage];
- (void)setupForCurrentPage
&& self.pageTextLabel.text
currentPage].displayT
self.pageImageView.image = [self currentPage].backgroundI
- (void)gotoNextPage
&& if ([self.book.pages
self.currentPageIndex == [self.book.pages count]
&&&& return;&&
&& self.currentPageIndex
&& [self setupForCurrentPage];
- (void)gotoPreviousPage
&& if (self.currentPageIndex
&&&& return;
&& self.currentPageIndex
&& [self setupForCurrentPage];
@end 以上代码说明如下:book 属性保存了当前的 RWTBook 对象,currentPageIndex属性保存了 RWTBook 对象的当前页索引。当视图加载完毕,设置要显示的 page,并添加滑动手势的识别器以便用户能通过手势进行翻页。返回当前页的 RWTPage 对象。设置 book 属性并将当前页置为第一页。设置当前页的显示内容。查找下一页,如果该页存在,则将下一页设置为当前页。该方法由 swipeNext 手势识别器调用。查找上一页,如果该页存在,则将上一页设置为当前页。该方法由 swipePrevious 手势识别器调用。播放和停止!这是一个很要命的问题。打开RWTPageViewController.m,在#import &RWTPage.h& 下面加入:
@import AVF iOS 语音功能由 AVFoundation 框架提供,你必须导入这个框架。提示:&@import会导入并连接 AVFoundation 框架。关于 iOS7 中 @import 及相关的 O-C 语言新特性,请参考这篇文章。在 currentPageIndex 属性声明之下加入:
@property (nonatomic, strong)
AVSpeechSynthesizer * synthesizer 对象将用于朗读每一页中的文字。可以将 ViewController 中定义的AVSpeechSynthesizer 对象想象成一个会说话的人。而 AVSpeechUtterance 则可以想象成一张小纸条,把纸条递给这个人,则他就会念出纸条上的字。注意:一个 AVSpeechUtterance 可能是一个单词,比如“Whisky”,或者是一个完整的语句,比如“Whisky,frisky,hippidityhop”。在 RWTPageViewController.m 的最后加入以下方法:
#pragma mark - Speech Management &
- (void)speakNextUtterance
AVSpeechUtterance *nextUtterance = [[AVSpeechUtterance
alloc]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
initWithString:[self currentPage].displayText];
&& [self.synthesizer speakUtterance:nextUtterance];
} 创建了一个 utterance 对象,然后告诉 synthesizer 去念出它。然后实现这个方法:
- (void)startSpeaking
&& if (!self.synthesizer) {
self.synthesizer = [[AVSpeechSynthesizer alloc] init];
&&&& [self
speakNextUtterance];
} 这个方法负责初始化 synthesizer 属性(如果它未初始化的话)。然后调用speakNextUtterance 方法,开始朗读。在 viewDidLoad 、gotoNextPage& 和 gotoPreviousPage 方法的最后加上这行:
[self startSpeaking]; 这样,当书一打开,或者用户前后翻页的时候,朗读就会开始。Build & run,你会听到AVSpeechSynthesizer 发出的天籁之音。注意:如果你什么也没听到,请检查 Mac 或者 iOS 设备的音量设置(看你是在什么地方运行这个 app 的)。你可以尝试着进行翻页看是不是能播放语音。提示:如果你是在模拟器上运行程序, 可能控制台会输出一堆莫名其妙的错误信息。这只会在模拟器上出现,使用设备时则不会打印这些错误。如果你听到了语音播放,请再次 Build & Run。这次,在第一页内容播放完之前,尝试向左滑动(向后翻页)。发现了什么?synthesizer 只会在第一页念完之后才开始念下一页。这不是用户想要的结果,他们会想让第一页停止播放而第二页立即开始。这点小瑕疵对于一页内容比较短的童谣来说不成问题,但试想一下,如果每页的内容都很长的话会是什么效果……
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3636708次
积分:34838
积分:34838
排名:第114名
原创:281篇
译文:190篇
评论:1482条
阅读:5576
阅读:4882
阅读:22163
阅读:6659
阅读:39292
阅读:55815
阅读:62671
阅读:81573
阅读:133403
(2)(9)(11)(8)(8)(5)(8)(6)(7)(6)(4)(4)(5)(4)(4)(5)(4)(5)(5)(4)(4)(4)(4)(4)(4)(4)(4)(4)(4)(4)(5)(4)(5)(5)(6)(9)(5)(6)(4)(5)(5)(5)(5)(5)(4)(5)(5)(5)(6)(5)(3)(6)(5)(5)(6)(5)(6)(6)(3)(6)(8)(8)(5)(8)(8)(9)(4)(8)(10)(10)(10)(10)(11)(6)(4)(4)(8)(5)(5)(1)(3)(3)(1)(10)(2)(2)(1)(2)(2)

我要回帖

更多关于 两个同名wifi 的文章

 

随机推荐