小编dev*_*nja的帖子

使用setDataSource()时无法实例化mediaextractor

我正在尝试使用MediaExtract提取avi文件的Track 0(视频轨道),并使用MediaCodec编码为h264格式.以下是我配置mediaCodec的方法

public MediaCodec configure_codec(){
         Log.d("OUT","configure starts");
         MediaCodec codec = MediaCodec.createEncoderByType("video/avc");

         MediaFormat format = MediaFormat.createVideoFormat("video/avc", 320, 240);

         format.setInteger(MediaFormat.KEY_BIT_RATE, 700000);
         format.setInteger(MediaFormat.KEY_FRAME_RATE, 15);
         format.setInteger(MediaFormat.KEY_COLOR_FORMAT,MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar);
         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5); 
         //Configure codec for encoding 
         codec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
         Log.d("OUT","codec configured");
         return codec;

    }
Run Code Online (Sandbox Code Playgroud)

我面临的问题是这一部分.

public MediaExtractor extract_video()
    {
        MediaExtractor extractor = new MediaExtractor();

        //problem in this line

        try{
            extractor.setDataSource(file_in);
        }catch(Throwable th){
            Log.d("OUT", th.getMessage());
        }

        MediaFormat format = extractor.getTrackFormat(0);
        String mime = format.getString(MediaFormat.KEY_MIME);
        Log.d("OUT", String.format("MIME TYPE: %s", mime));

        extractor.selectTrack(0);

        return extractor;
    }
Run Code Online (Sandbox Code Playgroud)

这是日志.

07-01 10:53:53.284: D/OUT(1779): Main …
Run Code Online (Sandbox Code Playgroud)

android video-encoding

6
推荐指数
1
解决办法
5327
查看次数

如何在合成verilog中包含时间延迟?

我试图在verilog中编写一个可综合的代码,其中我需要包含几秒钟的时间延迟.我已经使用#delay完成了模拟,但合成器无法接受.

在合成FSM的过程中,改变其状态不是基于某些条件而是在几秒的时间延迟之后,我想要上述时间延迟方法.FSM必须在4秒后将状态从state_1切换到state_2,在2秒后切换到state_2到state_3,依此类推.

verilog timedelay

2
推荐指数
1
解决办法
8167
查看次数

标签 统计

android ×1

timedelay ×1

verilog ×1

video-encoding ×1