Android如何实现h264硬编码

2024-05-18 12:43

1. Android如何实现h264硬编码

使用Android中的StageFright框架调用OpenMAX进行硬件编码,OMX部分由硬件厂商实现,无需关注,看好StageFright的调用方法即可

Android如何实现h264硬编码

2. 小米MAX怎么可以把安卓版本减低,不可以使用微信多开5.4版怎么破解,求大神指点

现在的miui8自带应用双开了,何必用这些双开软件

3. 音频播放需要用到编解码技术吗 android

  1、android提供的音视频编码只有 AMR-NB(nb是窄频)和H.263
  2、android虽然支持gif的解码,只能用mediaplay来播放,但是效果不好
  3、android不支持flv的解码
  4、AudioTrack只能播放pcm编码的数据,MediaPlayer可以播放MP3,AAC,WAV,OGG,MIDI等
  事实上,两种本质上是没啥区别的,MediaPlayer在播放音频时,在framework层还是会创建AudioTrack,
  把解码后的PCM数据传递给AudioTrack,最后由AudioFlinger进行混音,传递音频给硬件播放出来。
  利用AudioTrack播放只是跳过 Mediaplayer的解码部分而已。Mediaplayer的解码核心部分是基于OpenCORE 来实现的,
  支持通用的音视频和图像格式,codec使用的是OpenMAX接口来进行扩展。因此使用audiotrack播放mp3文件的话,要自己加入 一个音频解码器,如libmad。
  否则只能播放PCM数据,如大多数WAV格式的音频文件。

音频播放需要用到编解码技术吗 android

4. 可否直接调用openMAX的代码

openMAX 首先要移植到,Linux(ARM)上。支持硬解码的平台,其硬件codec就是以openMAX的方式做的,作为android系统的多媒体引擎的插件
1. 需要能修改源代码, 普通程序肯定没权限
2. 需要codec的接口资料
3. JNI 参考java层到framework层即可

5. 怎样实现自己写的Android视屏播放器播放rmvb格式的视频

你好,必须移植ffmepg或openmax库用于软解码。就是说需要修改Android多媒体框架,一般播放器只是使用videoview类或mediaplay和surfaceview类实现,这中实现和解码无关。

怎样实现自己写的Android视屏播放器播放rmvb格式的视频

6. android自带日期控件怎么调用

  1.DatePicker

  在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。

  1.1常用xml属性

  DatePicker的常用xml属性如图1所示:


  图1 DatePicker常用xml属性

  其中,android:calendarViewShown[boolean]用于设置是否显示calendar view;android:endYear[int]用于设置截至日期;android:maxDate[int]用于设置最大的日期;android:minDate[int]用于设置最小的日期;android:spinnersShown[boolean]用于设置是否显示spinners;android:startYear[int]用于设置起始日期。

  1.2常用方法

  DatePicker的常用方法有以下一些:

  (1)public CalendarView getCalendarView();   //获取CalendarView

  (2)public boolean getCalendarViewShown();   //获取CalendarView是否显示

  (3)public int getDayOfMonth();         //获取当前日期的日

  (4)public long getMaxDate();            //获取最大日期

  (5)public long getMinDate();            //获取最小日期

  (6)public int getMonth();               //获取当前日期的月

  (7)public boolean getSpinnersShown();        //获取Spinners是否显示

  (8)public int getYear();             //获取当前日期的年

  (9)public void init(int year,int monthOfYear,int dayOfMonth,

  DatePicker.OnDateChangedListener onDateChangedListener);     //初始化日期

  (10)public void setCalendarViewShown(boolean shown);      //设置是否显示CalendarView

  (11)public void setMaxDate(long maxDate);       //设置最大日期

  (12)public void setMinDate(long minDate);        //设置最小日期

  (13)public void setSpinnersShown(boolean shown);   //设置是否显示Spinners

  (14)public void updateDate(int year,int month,int dayOfMonth);    //更新当前日期

  

  2.TimePicker

  在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:

  (1)public Integer getCurrentHour();       //获取当前时间的小时

  (2)public Integer getCurrentMinute();       //获取当前时间的分钟

  (3)public boolean is24HourView();        //获取是否为24小时模式

  (4)public void setCurrentHour(Integer currentHour);            //设置当前时间的小时

  (5)public void setCurrentMinute(Integer currentMinute);      //设置当前时间的分钟

  (6)public void setIs24HourView(Boolean is24HourView);      //设置24小时模式

  

  3.DatePickerDialog

  在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:

  (1)public DatePicker getDatePicker();                                //获取DatePicker中的日期值

  (2)public void onClick(DialogInterface dialog,int which);       //响应对话框中的点击事件

  (3)public void onDateChanged(DatePicker view,int year,int month,int day);       //响应日期改变事件

  (4)public void updateDate(int year,int monthOfYear,int dayOfMonth);              //更新当前日期

  

  4.TimePickerDialog

  在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:

  (1)public void onClick(DialogInterface dialog,int which);                             //响应对话框中的点击事件

  (2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute);    //响应时间改变事件

  (3)public void updateTime(int hourOfDay,int minuteOfHour);                       //更新当前时间

  

  5.AnalogClock

  在Android中,AnalogClock用于显示指针式时钟,该时钟仅有时钟和分钟两个指针。

  

  6.DigitalClock

  在Android中,DigitalClock用来显示数字式时钟,显示格式为HH:MM:SS AM/PM。

7. 如何在Android中整合立体声音效处理库

  openCORE是Android的媒体功能实现的关键 ,使开发人员能在此之上构建新的应用,它支持音视频播放、音视频录制、可视电话、博客、实时流媒体服务等。


  openCORE使用了引擎驱动,节点框架(Node architecture) ,它由C++语言编写。引擎接收应用层的命令来负责管理和控制整个节点链路(Node graph) 。节点和节点链路的选取和搭建取决于播放参数(音视频剪辑的类型、操作等)。
  
  通常的节点链路的搭建为以下模式:
  输入节点(Source Node) --- 多个处理节点(Decoder Node)或 Codecs ... --- 输出节点(Sink Node)
  
  openCORE还包括一个开放源码的多媒体编解码器,视频(如MPEG- 4,H.264),音频(如MP3,AAC,MIDI), 以及语音(如AMRNB,AMR WB)等。OpenCORE 使用的OpenMAX IL 框架将编解码器整合到openCORE框架中 。 OpenMAX IL API在嵌入式移动领域非常有名,它为组件的移植提供了一个的抽象层。
  将音效处理整合到Android多媒体播放器
  主要的两大步骤:
  1.在openCORE的后端添加对音效库的支持
  2.在媒体播放器(应用层)中添加对openCORE中音效处理节点(Node)的支持
  
  第一步、在openCORE的后端添加对音效库的支持
  OpenCORE为编解码器的整合提供了多种可选方法,分别可以作为:OpenMAX编解码节点、OpenMAX IL组件、多媒体I/O 。多媒体I/O常常用在输出显示。在音效处理整合中可行的方法是将音效库“包装为”OpenMAX编解码节点 或 OpenMAX IL组件。以下分别说明这两种方式的用法。
  1.OpenMAX编解码节点
  这种方法要求播放器引擎支持多种音频效果。每个效果组件被实现为一个节点Node,当数据路链路创建后由引擎创建这些节点。数据流在路链的节点Node间“流动”,并有引擎进行管理和控制。同时,随着多个效果节点Node产生的线程增加,系统负荷也会增重。


  
  2.OpenMAX IL组件
  音频效果组件所处理的数据为解码组件的输出,所以最好将[音频解码]和[音效处理]组件放在同一层 。OpenCORE采用Open MAX IL为所有的Codec提供API操作,OpenCORE这种特性使得整合音效处理变得非常直接了当。


  音效处理库被编译成为静态库 ,并用ARM的RVCT优化后,用OpenMAX IL 包装起来构成了OpenCORE组成部分。
  [音频解码]和[音效处理]组件是通过API的IL层进行通信的,OMX音频解码节点Node在OpenCORE充当客户端的角色,这个Node节点负责创建、删除、数据流动 ,并将控制命令、数据Buffer传入到音频解码器中,音频解码器处理了数据Buffer后又将它们返回给Node节点。Node节点又将数据Buffer传递给[音效处理]组件。
  这种方法与第一种方法相比带来系统负荷较小,但不是说它没有系统负荷。流数据要在两个组件和Node中传输两次(缺陷) ,并且需要协调组件之间的通信问题。

如何在Android中整合立体声音效处理库

8. 请问在Android中Textview换行显示问题,您如何解决?

请问你的具体问题是什么?是如何让他换行显示么?我给你找了一些textview的属性:
 
android:ems 设置TextView的宽度为N个字符的宽度。
android:maxems 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minems 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength 限制输入字符数。如设置为5,那么仅可以输入5个汉字/数字/英文字母。
android:lines 设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines 设置文本的最小行数,与lines类似。
android:lineSpacingExtra 设置行间距。
android:lineSpacingMultiplier 设置行间距的倍数。如”1.2”
android:numeric 如果被设置,该TextView有一个数字输入法。有如下值设置:integer正整数、signed带符号整数、decimal带小数点浮点数。
android:password 以小点”.”显示文本
android:phoneNumber 设置为电话号码的输入方式。
android:singleLine 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行

android:textAppearance 设置文字外观。如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
 android:textColor 设置文本颜色
android:textColorHighlight 被选中文字的底色,默认为蓝色
android:textColorHint 设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink 文字链接的颜色.
android:textScaleX 设置文字之间间隔,默认为1.0f。参见TextView的截图。
android:textSize 设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:typeface 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]

android:height 设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight 设置文本区域的最大高度
android:minHeight 设置文本区域的最小高度
android:width 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
android:maxWidth 设置文本区域的最大宽度
android:minWidth 设置文本区域的最小宽度
【转自csdn】
 
希望能够帮到你