当前位置: 首页>>代码示例>>Java>>正文


Java MediaFormat.setByteBuffer方法代码示例

本文整理汇总了Java中android.media.MediaFormat.setByteBuffer方法的典型用法代码示例。如果您正苦于以下问题:Java MediaFormat.setByteBuffer方法的具体用法?Java MediaFormat.setByteBuffer怎么用?Java MediaFormat.setByteBuffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.media.MediaFormat的用法示例。


在下文中一共展示了MediaFormat.setByteBuffer方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: configureDecoder

import android.media.MediaFormat; //导入方法依赖的package包/类
private static MediaCodec configureDecoder(ImageInfo info, int maxInputSize, Surface surface) {
    if (mDecoderSupportedSize.getWidth() < info.size.getWidth() || mDecoderSupportedSize.getHeight() < info.size.getHeight()) {
        Log.w(TAG, "HEVC image may exceed decoder capability");
    }
    try {
        MediaCodec decoder = MediaCodec.createByCodecName(mDecoderName);
        MediaFormat inputFormat = MediaFormat.createVideoFormat(
                MediaFormat.MIMETYPE_VIDEO_HEVC, info.size.getWidth(), info.size.getHeight());
        inputFormat.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, maxInputSize);
        inputFormat.setByteBuffer("csd-0", info.paramset);
        Log.d(TAG, "HEVC input-format=" + inputFormat);
        decoder.configure(inputFormat, surface, null, 0);
        return decoder;
    }  catch (IOException ex) {
        throw new RuntimeException("no HEVC decoding support");
    }
}
 
开发者ID:yohhoy,项目名称:heifreader,代码行数:18,代码来源:HeifReader.java

示例2: getFrameworkMediaFormatV16

import android.media.MediaFormat; //导入方法依赖的package包/类
/**
 * Returns a {@link MediaFormat} representation of this format.
 */
@SuppressLint("InlinedApi")
@TargetApi(16)
public final MediaFormat getFrameworkMediaFormatV16() {
  MediaFormat format = new MediaFormat();
  format.setString(MediaFormat.KEY_MIME, sampleMimeType);
  maybeSetStringV16(format, MediaFormat.KEY_LANGUAGE, language);
  maybeSetIntegerV16(format, MediaFormat.KEY_MAX_INPUT_SIZE, maxInputSize);
  maybeSetIntegerV16(format, MediaFormat.KEY_WIDTH, width);
  maybeSetIntegerV16(format, MediaFormat.KEY_HEIGHT, height);
  maybeSetFloatV16(format, MediaFormat.KEY_FRAME_RATE, frameRate);
  maybeSetIntegerV16(format, "rotation-degrees", rotationDegrees);
  maybeSetIntegerV16(format, MediaFormat.KEY_CHANNEL_COUNT, channelCount);
  maybeSetIntegerV16(format, MediaFormat.KEY_SAMPLE_RATE, sampleRate);
  maybeSetIntegerV16(format, "encoder-delay", encoderDelay);
  maybeSetIntegerV16(format, "encoder-padding", encoderPadding);
  for (int i = 0; i < initializationData.size(); i++) {
    format.setByteBuffer("csd-" + i, ByteBuffer.wrap(initializationData.get(i)));
  }
  maybeSetColorInfoV24(format, colorInfo);
  return format;
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:25,代码来源:Format.java

示例3: setAacFormatSpecificData

import android.media.MediaFormat; //导入方法依赖的package包/类
private static void setAacFormatSpecificData(MediaFormat format, Fmtp fmtp) {
    String params = fmtp.formatSpecificParams;
    String configString = null;
    String[] paramsSplit = params.split(";");
    for (String param : paramsSplit) {
        param = param.trim();
        String[] paramSplit = param.split("=");
        if (paramSplit[0].toLowerCase().equals("config") && paramSplit.length == 2) {
            configString = paramSplit[1];
        }
    }
    format.setByteBuffer("csd-0", ByteBuffer.wrap(Utils.hexStringToByteArray(configString)));
}
 
开发者ID:devinbrown7,项目名称:streaminglib,代码行数:14,代码来源:MediaFormatHelper.java

示例4: CreateCodec

import android.media.MediaFormat; //导入方法依赖的package包/类
public  int CreateCodec(ByteBuffer bbcsd){
	Log.i(TAG, "HardwareDecoder:CreateCodec");
	
    int   videoHeight  	= mAPlayerAndroid.getVideoHeight();
    int   videoWidth   	= mAPlayerAndroid.getVideoWidth();
    long  duration      = mAPlayerAndroid.getDuration() * 1000L;

    Surface surface = null;
    if(mSurfaceType == 0){
        surface = mAPlayerAndroid.getInnerSurface();
    }else if(mSurfaceType == 2) {
        surface = mAPlayerAndroid.getInnerSurface();
        int surfaceWidth  = mAPlayerAndroid.getViewSurfaceWidth();
        int surfaceHeight = mAPlayerAndroid.getViewSurfaceHeight();
        mSurfaceRenderer = new SurfaceRenderer(mAPlayerAndroid,surface,surfaceWidth,surfaceHeight,videoHeight,videoWidth);
        surface =  mSurfaceRenderer.GetSurface();
    }else if(mSurfaceType == 3){

    }


    if(surface == null){
        Log.e(TAG,"HardWareDecoder CreateCodec surface == null");
        return -1;
    }
    
    mBbcsd = bbcsd;

    MediaFormat mediaFormat = new MediaFormat();
    mediaFormat.setInteger(MediaFormat.KEY_HEIGHT, videoHeight);
    mediaFormat.setInteger(MediaFormat.KEY_WIDTH, videoWidth);
    mediaFormat.setString(MediaFormat.KEY_MIME, mAVCodeIDToMime.get(mCodeId));
    mediaFormat.setLong(MediaFormat.KEY_DURATION, duration);

    if(mBbcsd != null){
        mediaFormat.setByteBuffer("csd-0", mBbcsd);
        mBbcsd.position(0);
    }


    return CreateCodec(mediaFormat, surface) ? 1 : 0;
}
 
开发者ID:lzmlsfe,项目名称:19porn,代码行数:43,代码来源:HardwareDecoder.java

示例5: maybeSetByteBufferV16

import android.media.MediaFormat; //导入方法依赖的package包/类
@TargetApi(16)
private static void maybeSetByteBufferV16(MediaFormat format, String key, byte[] value) {
  if (value != null) {
    format.setByteBuffer(key, ByteBuffer.wrap(value));
  }
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:7,代码来源:Format.java


注:本文中的android.media.MediaFormat.setByteBuffer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。