当前位置:  编程技术>移动开发
本页文章导读:
    ▪自个儿写的分秒转换,用到自己做的在线音乐播放器上的        自己写的分秒转换,用到自己做的在线音乐播放器上的 -(NSString *)changeTimeToString:(float)time { NSString* timeend; NSString* timestr=[NSString stringWithFormat:@"%f",time]; int inttime=[timestr intValue]; in.........
    ▪ iOS框架引见(四)-媒体层        iOS框架介绍(四)---媒体层 媒体层 Core Graphics (也被称为Quartz),用于处理本地2D向量渲染和图片渲染。 Core Text,提供一个精密的文本布局和渲染引擎。 大多数应用程序应该无需改动,或.........
    ▪ iOS开发框架引见(二)-iOS 框架及开发相关信息       iOS开发框架介绍(二)---iOS 框架及开发相关信息 iOS 开发相关信息 iOS架构和Mac OS的基础架构相似。站在高级层次来看,iOS 扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介,如.........

[1]自个儿写的分秒转换,用到自己做的在线音乐播放器上的
    来源: 互联网  发布时间: 2014-02-18
自己写的分秒转换,用到自己做的在线音乐播放器上的





1楼zxmzhikong昨天 10:12你好,请问在博客里发布的内容,怎么样才能在首页搜索到啊?我发布的怎么搜索不到啊,是不是要审核啊?谢谢

    
[2] iOS框架引见(四)-媒体层
    来源: 互联网  发布时间: 2014-02-18
iOS框架介绍(四)---媒体层
媒体层

媒体层包含图形技术、音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,更重要的是,它们让创建外观音效俱佳的应用程序变得更加容易。您可以使用iOS的高级框架更快速地创建高级的图形和动画,也可以通过底层框架访问必要的工具,从而以某种特定的方式完成某种任务。

图形技术

高质量的图形是iOS应用程序的重要组成部分。创建应用程序最简单最有效的方法是使用事先渲染过的图片,搭配上标准视图以及UIKit框架的控件,然后把绘制任务交给系统来执行。但是在某些情况下,您可能需要一些UIKit所不具有的功能,而且需要定制某些行为。在这种情况下,您可以使用下述技术管理应用程序的图形内容:

  • Core Graphics (也被称为Quartz),用于处理本地2D向量渲染和图片渲染。

  • Core Animation ( Quartz Core框架的一部分),为动画视图和其他内容提供更高级别支持。

  • OpenGL ES,为使用硬件加速接口的2D和3D渲染提供支持。

  • Core Text,提供一个精密的文本布局和渲染引擎。

  • Image I/O,提供读取及编写大多数图形格式的接口。

  • 资产库框架(Assets Library framework),可用于访问用户照片库中的照片和视频。

大多数应用程序应该无需改动,或者只需做很少修改,便可运行在具备高分辨率屏幕的设备。因为在绘图或者操作视图的时候,您所指定的座标值会被映射到逻辑座标系统,它和底层屏幕分辨率没有关联。而且绘制的内容会自动根据需要按比例缩放,以此来支持高分辨率屏幕。对基于向量进行绘制的代码来说,系统框架会自动使用额外的像素来改善图画的内容,使其变得更清晰。如果应用程序中使用了图片,则可以利用UIKit自动加载现有图片的高分辨率版本。如您需进一步了解如何支持高分辨率屏幕,请查看iOS应用程序编程指南中的“支持高分辨率屏幕”。

如需进一步了解图像相关框架,请查看”媒体层框架“中相应的内容。

音频技术

iOS音频技术可帮助您为用户提供丰富多彩的音响体验。您可以使用音频技术来播放或录制高质量的音频,也可以用于触发发设备的震动功能(具有震动功能的设备)。

iOS系统提供数种播放或录制音频的方式供您选用。在选择音频技术的时候,请记住,要尽可能地选取高级框架,因为它们可以简化播放音频所需的工作。下面列出的框架从高级到低级排列,,媒体播放器框架(Media Player framwork)提供的是最高级的接口:

  • 媒体播放器框架。该框架可以让访问用户的iTume库变得很容易,并且支持播放曲目和播放列表。

  • AV Foundation框架。它提供一组简单易用的Objective-C接口,可用于管理音频的播放或录制。.

  • OpenAL框架。它提供一组跨平台,用于发布方位音频的接口。

  • Core Audio框架。它提供的接口简单而精密,可用于播放或录制音频内容。您可以使用这些接口播放系统的警报声音、触发备的震动功能、管理多声道的缓冲和播放、对音频内容进行流化处理。

iOS音频技术支持下述音频格式:

  • AAC

  • Apple Lossless (ALAC)

  • A-law

  • IMA/ADPCM (IMA4)

  • Linear PCM

  • µ-law

  • DVI/Intel IMA ADPCM

  • Microsoft GSM 6.10

  • AES3-2003

如需进一步了解上述音频框架,请查看”媒体层框架“中相应的内容。

视频技术

iOS有数种技术可用于播放应用程序包的电影文件以及来自网络的数据流内容。如果设备具有合适的视频硬件,这些技术也可用于捕捉视频,并可将捕获到的视频集成到应用程序。

系统提供也提供多种方法用于播放或录制视频内容,您可以根据需要选择。选择视频技术的时候,请尽可能选择高级框架,因为高级框架可以简化为提供对某种功能的支持所需的工作。下面列出的框架由高级到低级排列。其中,媒体播放器框架提供最高级的接口:

  • 媒体播放器框架,它提供一组易于使用的接口,可用于播放应用程序中全屏或部分屏的电影。

  • AV Foundation框架,它提供一组Objective-C接口,可以对电影的捕捉和播放进行管理。

  • Core Media框架,它对较高级框架使用的底层类型进行描述,同时也提供一些底层接口,它们用于对媒体进行处理。

iOS视频技术支持播放的电影文件应具有.mov、.mp4、.m4v以及.3gp文件扩展名,而且文件应使用下述的压缩标准:

  • H.264视频,多达1.5 Mbps, 640x480像素,每秒30帧。 H.264 Baseline Profile 的 Low-Complexity 版本支持 AAC-LC 音频( .m4v、.mp4以及.mov文件格式中高达160Kbps ,48KHz 的立体音频)。

  • H.264视频,高达68 Kbps,320x240像素,每秒30帧。达到Level 1.3的 Baseline Profile支持AAC-LC音频( .m4v、.mp4以及.mov文件格式中高达160Kbps ,48KHz 的立体音频)。

  • MPEG-4视频,高达 2.5 Mbps, 640 x 480像素,每秒30帧。Simple Profile支持AAC-LC 音频( .m4v、.mp4以及.mov文件格式中高达160Kbps ,48KHz 的立体音频)。

  • 各种音频格式,包括 “音频技术”列出的清单。

如需进一步了解上述视频框架,请查看”媒体层框架“中相应的内容。

媒体层包含的框架

后续部分对媒体层的框架和框架所提供的服务进行说明。

资产库框架

iOS 4.0引入了资产库框架(AssetsLibrary.framework),该框架提供一个查询界面,您可以通过它查找用户照片和数据。通过使用该框架,您可以访问Photos管理的资产,包括用户保存的相册以及导入到设备中的图片或视频。而且您也可以将照片或者视频保存到用户的相册。

如需进一步了解该框架,请查看资产库框架参考。

AV Foundation 框架

iOS 2.2引入了AV Foundation 框架 (AVFoundation.framework),该框架包含的Objective-C 类可用于播放音频内容。通过使用该框架,您可以播放声音文件或播放内存中的音频数据,也可以同时播放多个声音,并对各个声音的播放特定进行控制。

在 iOS 4.0及后续版本中,该框架提供的服务得到很大的扩展,下述的服务现在也包含在框架中:

  • 媒体资产管理

  • 媒体编辑

  • 电影捕捉

  • 电影播放

  • 曲目管理

  • 媒体项的元数据管理

  • 立体声淘选

  • 不同声音的精确同步

  • 用于判断声音文件详细信息的Objective-C接口,例如判断数据格式、采样率和声道数。

AV Foundation框架是iOS中录制播放音频和视频的唯一框架,该框架还支持对媒体项进行管理和处理。

如需进一步了解AV Foundation框架,请查看AV Foundation 框架参考。

Core Audio

表3-1列出来的Core Audio框架家族为音频提供本地支持。Core Audio框架提供C语言接口,可用于操作立体声音频。通过iOS系统Core Audio框架,您可以在应用程序中生成、录制、混合或播放音频,您也可通过该框架访问设备的震动功能(支持震动功能的设备)。

表 3-1  Core Audio框架

框架

服务

CoreAudio.framework

定义Core Audio框架家族使用的音频数据类型。

AudioToolbox.framework

播放或录制音频文件或数据流,也可用于管理音频文件、播放系统警告声音、触发某些设备的震动功能。

AudioUnit.framework

为内置音频单元服务,内置音频单元是指音频处理模块。

如需进一步了解Core Audio,请参考Core Audio 概述。如需了解如何使用Audio Toolbox 框架播放声音,请查看音频队列服务编程指南r以及Audio Toolbox框架参考。

Core Graphics 框架

Core Graphics框架 (CoreGraphics.framework)包含Quartz 2D绘图API接口 。Quartz 是Mac OS X系统使用的向量绘图引擎,它支持基于路径绘图、抗锯齿渲染、渐变、图片、颜色、坐标空间转换、PDF文件的创建、显示和解析。虽然API基于C语言,但是它使用基于对象的抽象以表示基本绘图对象,这样可以让开发者可以更方便地保存并复用图像内容。

如需进一步了解如何使用Quartz绘制内容,请查看 Quartz 2D 编程指南 以及Core Graphics框架参考 。

Core Text 框架

iOS 3.2引入了Core Text框架(CoreText.framework),该框架包含一组简单高效的C接口,可用于对文本进行布局以及对字体进行处理。Core Text框架提供一个完整的文本布局引擎,您可以通过它管理文本在屏幕上的摆放。所管理的文本也可以使用不同的字体和渲染属性。

该框架专为诸如字处理程序这类需要具有精密文本处理功能的应用程序而设计。如果您的应用程序只需要一种文本输入和显示,则应使用UIKit框架中已有的类。

如需进一步了解 Core Text接口的使用方式,请参考Core Text 编程指南和Core Text 参考集。

Core Video 框架

iOS 4.0引入了 Core Video框架 (CoreVideo.framework) ,该框架为Core Media提供缓存和缓存池的支持。大多数应用程序都不应该直接使用该框架。

Image I/O 框架

iOS 4.0引入 Image I/O 框架 (ImageIO.framework),该框架的接口可用于导入或导出图像数据及图像元数据。该框架建构于 Core Graphics数据类型和函数之上,能够支持iOS 上所有的标准图像类型。

如需进一步了解该框架的数据类型和函数,请查看mage I/O 参考集。

媒体播放器框架

媒体播放器框架 (MediaPlayer.framework)为应用程序播放视频和音频内容提供高级支持。通过该框架,您就可以使用标准系统界面播放视频。 iOS 3.0增加了对访问用户iTune库的支持。因此,您可以利用该框架播放音乐曲目、播放列表、搜索歌曲并向用户显示媒体选取界面。

在 iOS 3.2系统中,该框架发生了变化,开始支持在可改变尺寸的视图中播放视频(之前只支持全屏)。另外还新增数个界面用于支持配置和管理电影播放。

如需进一步了解媒体播放器框架中的类,请查看媒体播放器框架参考 。如需了解如何使用该框架访问用户的 iTunes库,请查看iPod 库访问编程指南。

OpenAL 框架

除了Core Audio之外,, iOS 还支持 Open Audio Library (OpenAL)。OpenAL接口是在应用程序中发布方位音频的跨平台标准。通过使用该框架,您可以在游戏或者要求有方位音频输出的程序中实现高性能、高质量的音频。OpenAL是跨平台的标准,iOS平台使用OpenAL编写的代码模块可以移植到许多其他的平台运行。

如需了解OpenAL及其使用方式,请查看http://www.openal.org。

OpenGL ES 框架

OpenGL ES框架 (OpenGLES.framework)提供的工具可用于绘制2D及3D内容。该框架基于C语言,能够和设备硬件紧密协作,为全屏游戏类型的应用程序提供很高的帧速率。

OpenGL框架需要和EAGL接口结合使用。这些接口是 OpenGL ES 框架的一部分,它们是OpenGL ES绘图代码及应用程序中的窗口对象的接口。

在 iOS 3.0及其后续版本的系统中,OpenGL ES 框架同时支持 OpenGL ES 2.0 及OpenGL ES 1.1 接口规范。2.0规范支持分段和点着色,只有运行iOS 3.0及其后续版本的设备才支持2.0。所有版本的iOS及iOS设备都支持OpenGL ES 1.1规范。

如需了解如何在应用程序中使用OpenGL ES,请查看iOS OpenGL ES编程指南。如果需要参考信息,请查看OpenGL ES框架参考。

Quartz Core 框架

Quartz Core框架 (QuartzCore.framework)包含Core Animation接口。Core Animation是高级动画制作和混合技术,它使用经过优化的渲染路径实现复杂的动画和视觉效果。它提供的高级Objective-C接口可对动画效果进行配置,然后在设备硬件中进行渲染,以此来提高程序的性能。Core Animation框架被整合到iOS的许多部分(包括UIKit框架中的许多类(如UIView)),可以为多种系统行为提供动画效果。您也可以使用该框架中的Objective-C接口直接创建定制动画。

如需进一步了解如何在应用程序中使用Core Animation,请查看Core Animation Programming Guide and Core Animation参考集。


    
[3] iOS开发框架引见(二)-iOS 框架及开发相关信息
    来源: 互联网  发布时间: 2014-02-18
iOS开发框架介绍(二)---iOS 框架及开发相关信息
iOS 开发相关信息

iOS是运行于iPhone、iPod touch以及 iPad设备的操作系统,它管理设备硬件并为手机本地应用程序的实现提供基础技术。根据设备不同,操作系统具有不同的系统应用程序,例如Phone、Mail以及Safari,这些应用程序可以为用户提供标准系统服务。

iPhone SDK包含开发、安装及运行本地应用程序所需的工具和接口。本地应用程序使用iOS系统框架和Objective-C语言进行构建,并且直接运行于iOS设备。它与web应用程序不同,一是它位于所安装的设备上,二是不管是否有网络连接它都能运行。可以说本地应用程序和其他系统应用程序具有相同地位。本地应用程序和用户数据都可以通过iTunes同步到用户计算机。

iOS 架构

iOS架构和Mac OS的基础架构相似。站在高级层次来看,iOS 扮演底层硬件和应用程序(显示在屏幕上的应用程序)的中介,如图 1-1所示。您创建的应用程序不能直接访问硬件,而需要和系统接口进行交互。系统接口转而又去和适当的驱动打交道。这样的抽象可以防止您的应用程序改变底层硬件。

图 1-1  应用程序位于iOS上层

请注意: 虽然应用程序通常会和底层硬件隔离, 但是应用程序代码仍需考虑设备之间的某些差异。举个例子,iPad和iPod touch不能打开包含电话号码的URL但是iPhone则可以。

iOS实现可以看作是多个层的集合("Game Kit 框架"含有对这些层的介绍),底层为所有应用程序提供基础服务,高层则包含一些复杂巧妙的服务和技术。

图 1-2   iOS的层

在编写代码的时候,应该尽可能地使用高层框架,而不要使用底层框架。高层框架为底层构造提供面向对象的抽象。这些抽象可以减少需编写的代码行数,同时还对诸如socket和线程这些复杂功能进行封装,从而让编写代码变得更加容易。虽说高层框架是对底层构造进行抽象,但是它并没有把底层技术屏蔽起来。如果高层框架没有为底层框架的某些功能提供接口,开发者可以直接使用底层框架。

本文档后续章节将对每一层所包含的技术和框架进行描述。

iPhone SDK 包含哪些东西?

在使用Intel芯片的Macintosh计算机开发iOS应用程序所需的全部接口、工具以及资源全都包含于iPhone SDK。

苹果公司将大部分系统接口发布在框架这种特殊的数据包。一个框架就是一个目录,它包含一个动态共享库以及使用这个库所需的资源(例如头文件、图像以及帮助应用程序等)。如果要使用某个框架,则需要将其链接到应用程序工程,这一点和使用其他共享库相似。另外,您还需要告知开发工具何处可以找到框架头文件以及其他资源。

除了使用框架,苹果公司还通过标准共享库的形式来发布某些技术。 由于iOS以UNIX为基础,操作系统底层的许多技术都源自开源技术,这些技术的许多接口可以从标准库和接口目录访问。

SDK中还包含下述重要组件:

  • Xcode工具 -提供iOS应用程序开发工具,包括如下关键应用程序:

    • Xcode -是一个集成开发环境,它负责管理应用程序工程。您可以通过它来编辑、编译、运行以及调试代码。Xcode还集成了许多其他工具,它是开发过程中使用到的主要应用程序。

    • Interface Builder -以可视化方式组装用户接口的工具。通过Interface Builder创建出来的接口对象将会保存到某种特定格式的资源文件,并且在运行时加载到应用程序。

    • Instruments - 运行时性能分析和调试工具。您可以通过 Instruments 收集应用程序运行时的行为信息,并利用这些信息来确认可能存在的问题。

  • iPhone模拟器 -是Mac OS X平台应用程序,它对iOS技术栈进行模拟,以便于您可以在基于Intel的Macintosh计算机上测试iOS应用程序。

  • iOS参考库- SDK默认包含iOS的参考文档。另外,如果文档库有更新,则更新会被自动下载到本地。通过选择Help > Developer Documentation就可以看到参考库。

SDK提供编写应用程序所需的软件,而且Xcode和Instruments允许您直接与绑定设备进行交互,在目标硬件运行并调试代码。如果您需要在实际设备上开发,请加入苹果公司的收费iPhone开发者计划,并将设备配置成开发用途。如需进一步了解iPhone开发者计划,请访问http://developer.apple.com/iphone/program/页面。

如果您需要了解如何安装iPhone SDK以及如何使用iPhone SDK开发iOS应用程序,则请参考iOS开发指南。如果进一步了解iOS的框架,并且希望了解何处可以找到底层的系统库,则请参考“iOS框架”。

您可以在 iOS 创建什么应用程序?

用户可以在设备上运行两种不同类型的定制应用程序:Web应用程序和本地应用程序。Web应用程序将HTML、层叠样式表以及JavaScript代码结合在一起,以此来实现具有交互性的应用程序,这些应用程序存在于web服务器,通过网络传送到用户设备上,并运行于Safari浏览器。而本地应用程序则是直接安装在设备上,无需配备网络连接就可以运行。

iPhone SDK仅能用于创建显示于设备Home屏的本地应用程序,它不支持创建其他诸如驱动、框架、动态库等类型的代码。如果您希望将某个框架或者动态库整合到应用程序,则应在链编工程的时候静态地将其链接到应用程序执行文件。

如何使用参考库?

iOS参考库包含各种文档、样例代码以及教程,这些材料可为编写应用程序提供帮助。不过参考库包含数千页的文档,上至起步介绍,下至API参考文档尽皆涵盖其中。因此,明白如何找到需要的信息是开发过程的重要步骤。参考库使用几种数种技术来组织内容,以使其更易于浏览。

您可以从苹果开发者网站访问iOS参考库,也可以从Xcode访问。 只要在Xcode中选择 帮助>开发者文档,就可以把XCode的文档窗口显示在屏幕上。此窗口是访问iOS开发信息的核心,您可以在其中浏览文档并执行搜索,还可以为稍后可能阅读的文档添加书签。各个文档早已按其内容进行归类,这样可为更新提供便利,也可以把搜索的范围精确至相关的文档。

在安装 iPhone SDK的时候,Xcode 会自动为您安装包含iOS参考库的文档集。(XCode也会自动为您下载文档更新,不过您可以在偏好设置中取消此行为。)iOS参考库包含非常多的信息。因而,对其排版设计稍作了解意义重大。图 1-3显示的是Xcode文档窗口中参考库的主。页面顶部的工具栏包含搜索框和按键,可用于导航至其他已安装的文档集或是已创建的书签。 您可以按主题、框架或者其他您正在查找的资源类型浏览文档,也可以使用过滤器来控制文档列表,减少显示的文档集。

图 1-3   iOS参考库

重要:  iOS参考库的内容有可能不是最新的,您可以从iPhone开发中心(http://www.apple.com.cn/developer/iphone)访问最新的文档、发布纪要、技术纪要、技术, 技术Q&A以及样例代码。所有的文档都有HTML格式版本,大部分有PDF格式版本。

参考库提供海量信息,在编写代码时翻查这些信息非常麻烦。为了帮助您快速找到某些特定信息,XCode为您提供如图 1-4所示的Quick Help窗口。该窗口向您显示和某个指定符号相关的信息,包括它的语法、描述以及可以使用该符号的SDK版本。另外,该窗口还显示该符号的相关文档以及样例代码。点击窗口中的链接就可以进入到参考库中相应的资源。如果希望显示Quick Help窗口,请按住Option键然后再双击Xcode编辑窗口中的某个符号。

图 1-4  Xcode中的Quick help窗口

如果需要进一步了解文档窗口和Quick Help窗口,请参考Xcode Workspace指南。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3