当前位置:  编程技术>移动开发
本页文章导读:
    ▪蓝牙惯用方法        蓝牙常用方法 打开蓝牙: 有提示: Intent enableIntent = new Intent( BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, REQUEST_ENABLE_BT); 无提示: mBluetoothAdp = BluetoothAdapter.getDefaultAd.........
    ▪ ZBarSDK–读取条码信息        ZBarSDK–读取条形码信息 介绍: ZBarSDK是一个开源的SDK,可从这里下载到源码,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。 帮助文.........
    ▪ [转] AudioToolbox使用方法小结       [转] AudioToolbox使用方法总结 转自:http://blog.csdn.net/ch_soft/article/details/7381976整理一些网络资源第一部分 之前公司做的是音乐播放器,用到了AudioToolbox这个音频接口,总结下,希望对需要的.........

[1]蓝牙惯用方法
    来源: 互联网  发布时间: 2014-02-18
蓝牙常用方法

打开蓝牙:
有提示:

 Intent enableIntent = new Intent(
			 BluetoothAdapter.ACTION_REQUEST_ENABLE);
			 startActivityForResult(enableIntent, REQUEST_ENABLE_BT);

无提示:
mBluetoothAdp = BluetoothAdapter.getDefaultAdapter();// 获取本地蓝牙适配器

mBluetoothAdp.enable();

关闭蓝牙:
mBluetoothAdp.disenable();
 

    
[2] ZBarSDK–读取条码信息
    来源: 互联网  发布时间: 2014-02-18
ZBarSDK–读取条形码信息
介绍:

ZBarSDK是一个开源的SDK,可从这里下载到源码,该SDK实现了识别和读取各种条形码,包括EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 和 QR Code。

帮助文档:http://zbar.sourceforge.net/iphone/sdkdoc/index.html

例子分析:

1.导入和使用SDK

导入ZBarSDK文件并引入一下框架

AVFoundation.framework(weak)
CoreMedia.framework (weak)
CoreVideo.framework (weak)
QuartzCore.framework
libiconv.dylib

最后,引入头文件#import “ZBarSDK.h” 即可使用。

2.ReaderSample

使用了ZBarReaderViewController,该类实现了自动捕捉条形码,设置了ZBarReaderViewController属性scanner的配置。

当找到条形码时,会执行代理方法

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info

最后读取并显示了条形码的图片和内容。

3.EmbedReader

使用了ZBarReaderView,该类实现了使用摄像头捕捉条形码,调用start方法开始捕捉,调用stop方法停止捕捉。

当捕捉到条形码时,会调用代理方法:- (void) readerView:(ZBarReaderView*)readerView didReadSymbols:(ZBarSymbolSet*)symbols fromImage:(UIImage*)image

 

常用类分析:

1.ZBarReaderViewController用于动态捕捉条形码

scanner用于配置捕获图像的属性

cameraDevice用于设置前后置摄像头

代理方法- (void) readerView:(ZBarReaderView*)readerView didReadSymbols:(ZBarSymbolSet*)symbols fromImage:(UIImage*)image在捕获到条形码后执行

2.ZBarReaderController继承与UIImagePickerController,用于手动捕捉条形码

sourceType用于图片获取方式,摄像头或相册

方法takePicture获取图片,并从图片中捕获条形码

代理方法- (void) imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info,在读取条形码后执行,info包含了条形码信息。

 

附:ZBarSDK下载


    
[3] [转] AudioToolbox使用方法小结
    来源: 互联网  发布时间: 2014-02-18
[转] AudioToolbox使用方法总结
转自:http://blog.csdn.net/ch_soft/article/details/7381976

整理一些网络资源

第一部分

之前公司做的是音乐播放器,用到了AudioToolbox这个音频接口,总结下,希望对需要的朋友有帮助。AudioToolbox这个库是C的接口,偏向于底层,用于在线流媒体音乐的播放,可以调用该库的相关接口自己封装一个在线播放器类,AudioStreamer是老外封装的一个播放器类,有兴趣的朋友可以研究下。

      其实IOS库中有两个可以播放在线音乐的播放器类,AVPlayer和MPMusicPlayerController
这两个做简单的播放还不错,但是如果要做专业的音乐播放项目,功能还不够强大,例如:边听边存、断点续传、播放事件等等都无法满足。一下是以前做的笔记,仅供参考

播放流程图:


数据结构及接口说明:


C代码 
    •   数据类型 
1.AudioFileStreamID             文件流 
2.AudioQueueRef                     播放队列  
3.AudioStreamBasicDescription   格式化音频数据 
4.AudioQueueBufferRef             数据缓冲 
 
    •   回调函数 
1.AudioFileStream_PacketsProc       解析音频数据回调 
2.AudioSessionInterruptionListener  音频会话被打断 
3.AudioQueueOutputCallback          一个AudioQueueBufferRef播放完 
 
    •   主要函数 
0.AudioSessionInitialize (NULL, NULL, AudioSessionInterruptionListener, self); 
初始化音频会话 
 
1.AudioFileStreamOpen( 
                        (void*)self,                           
                        &AudioFileStreamPropertyListenerProc,  
                        &AudioFileStreamPacketsProc,           
                        0,                                     
                        &audio_file_stream);             
建立一个文件流AudioFileStreamID,传输解析的数据 
 
2.AudioFileStreamParseBytes( 
                          audio_file_stream, 
                          datalen, 
                          [data bytes], 
                          kAudioFileStreamProperty_FileFormat);  
解析音频数据 
 
3.AudioQueueNewOutput(&audio_format, AudioQueueOutputCallback, (void*)self, [[NSRunLoop currentRunLoop] getCFRunLoop], kCFRunLoopCommonModes, 0, &audio_queue); 
创建音频队列AudioQueueRef 
 
4.AudioQueueAllocateBuffer(queue, [data length], &buffer); 
创建音频缓冲数据AudioQueueBufferRef 
 
5.AudioQueueEnqueueBuffer(queue, buffer, num_packets, packet_descriptions); 
把缓冲数据排队加入到AudioQueueRef等待播放 
 
6.AudioQueueStart(audio_queue, nil);    播放 
7.AudioQueueStop(audio_queue, true); 
AudioQueuePause(audio_queue);          停止、暂停 
 
    •   断点续传 
1。在http请求头中设置数据的请求范围,请求头中都是key-value成对 
    key:Range           value:bytes=0-1000 
    [request setValue:range  forHTTPHeaderField:@"Range"]; 
可以实现,a.网络断开后再连接能继续从原来的断点下载 
            b.可以实现播放进度可随便拉动 

    
最新技术文章:
▪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