android开发过程中遇到的小问题
2013-07-22 17:24
447 查看
转自:http://www.sctarena.com/Article/Article.asp?nid=5070
1、在编写xml布局的时候,总是提示[Accessibility] Missing contentDescription attribute on image的警告信息解决方法:[html] view plaincopyprint?<ImageView
android:layout_width="210dp"
android:layout_height="32dp"
android:layout_centerHorizontal="true"
/>
修改为:[html] view plaincopyprint?<ImageView
android:layout_width="210dp"
android:layout_height="32dp"
android:layout_centerHorizontal="true"
android:contentDescription="组件的描述内容"
/>
b.在xml中的形式如下: http://www.sctarena.com/java/[html] view plaincopyprint?<包名.类名
属性
/>
第二种代码布局,只需要构造[java] view plaincopyprint?public 类名(Context context) {
}
3、在播放音频的时候使用AudioTrack来实现,但是多次实现audioTrack.play,audioTrack.stop会出现如下现象:[java] view plaincopyprint?obtainBuffer() track 0x17c418 disabled, restarting
原因为:[java] view plaincopyprint?在循环使用AudioTrack.write(byte[] audioData, int offsetInBytes, int sizeInBytes)写入音频数据时,由于网络原因和处理数据代码逻辑乱的原因,音频数据没及时发送过来
解决方案:这个方法可能只限于我现在产生这种现象的解决方案:描述:通过socket来接收aac数据,我取一帧来然后通过faad来解码成pcm码流,然后放在audioTrack里面播放,但是我是先初始化audioTrack.play,然后接收aac数据,调用faad解码成pcm数据,最后把pcm数据写到audioTrack里面播放声音。解决方法:造成这种现象的原因在上面已经写出,由于数据没有及时的写入造成的,所以我这边只初始化audioTrack实例,但不马上进行audioTrack.play(),只有第一次来数据的时候才进行audioTrack.play,这样就解决了我现在的问题。[java] view plaincopyprint?/*
* 播放音频
*/
publicvoid playvideo(byte[] data){
if (AppInforToSystem.islistening && aAudio != null && aAudio.getPlayState() == AudioTrack.PLAYSTATE_STOPPED) {
aAudio.play();
aAudio.write(data, 0, 8192);
}elseif (AppInforToSystem.islistening && aAudio != null && aAudio.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) {
aAudio.write(data, 0, 8192);
}
}
1、在编写xml布局的时候,总是提示[Accessibility] Missing contentDescription attribute on image的警告信息解决方法:[html] view plaincopyprint?<ImageView
android:layout_width="210dp"
android:layout_height="32dp"
android:layout_centerHorizontal="true"
/>
修改为:[html] view plaincopyprint?<ImageView
android:layout_width="210dp"
android:layout_height="32dp"
android:layout_centerHorizontal="true"
android:contentDescription="组件的描述内容"
/>
2、在android编写布局的时候,我们有时候需要将一个类封装成一个组件来使用,那么体现在界面上的方法有两种,1.xml布局,2.代码编写第一种:xml布局如果是xml布局需要注意两点a.类的构造方法中必须添加[html] view plaincopyprint?public 类名(Context context, AttributeSet attribute) { }
b.在xml中的形式如下: http://www.sctarena.com/java/[html] view plaincopyprint?<包名.类名
属性
/>
第二种代码布局,只需要构造[java] view plaincopyprint?public 类名(Context context) {
}
3、在播放音频的时候使用AudioTrack来实现,但是多次实现audioTrack.play,audioTrack.stop会出现如下现象:[java] view plaincopyprint?obtainBuffer() track 0x17c418 disabled, restarting
原因为:[java] view plaincopyprint?在循环使用AudioTrack.write(byte[] audioData, int offsetInBytes, int sizeInBytes)写入音频数据时,由于网络原因和处理数据代码逻辑乱的原因,音频数据没及时发送过来
解决方案:这个方法可能只限于我现在产生这种现象的解决方案:描述:通过socket来接收aac数据,我取一帧来然后通过faad来解码成pcm码流,然后放在audioTrack里面播放,但是我是先初始化audioTrack.play,然后接收aac数据,调用faad解码成pcm数据,最后把pcm数据写到audioTrack里面播放声音。解决方法:造成这种现象的原因在上面已经写出,由于数据没有及时的写入造成的,所以我这边只初始化audioTrack实例,但不马上进行audioTrack.play(),只有第一次来数据的时候才进行audioTrack.play,这样就解决了我现在的问题。[java] view plaincopyprint?/*
* 播放音频
*/
publicvoid playvideo(byte[] data){
if (AppInforToSystem.islistening && aAudio != null && aAudio.getPlayState() == AudioTrack.PLAYSTATE_STOPPED) {
aAudio.play();
aAudio.write(data, 0, 8192);
}elseif (AppInforToSystem.islistening && aAudio != null && aAudio.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) {
aAudio.write(data, 0, 8192);
}
}
相关文章推荐
- Android项目实战_新浪微博客户端开发过程中遇到的问题及解决办法01
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- 在开发Android项目过程中遇到的常见问题整合
- android 开发过程中遇到的问题及解决方案
- 开发过程中遇到的问题总结--qt for android
- 【Android】android开发过程遇到的问题以及解决方法总结
- 开发过程中遇到切图的大小的问题,以下是解决设置Android中RadioButton的图片大小和位置
- android开发过程中遇到的小问题
- Android开发过程中遇到的问题(长期补充)
- android开发过程中遇到的问题
- Android开发过程中遇到的关于so文件的问题
- Android开发过程中遇到的一些问题
- 搭建android xmpp开发环境过程遇到的问题
- Android Studio NDK开发过程中遇到的问题与解决(一)
- Android开发细节——开发实战过程中遇到的细节问题与解决方案汇总
- Android开发过程中遇到的问题
- android开发过程中遇到的问题小结(不定期更新)
- android开发过程中遇到的小问题
- 关于android 开发过程中遇到的问题,不定期更新