• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SurfaceView类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中net.majorkernelpanic.streaming.gl.SurfaceView的典型用法代码示例。如果您正苦于以下问题:Java SurfaceView类的具体用法?Java SurfaceView怎么用?Java SurfaceView使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SurfaceView类属于net.majorkernelpanic.streaming.gl包,在下文中一共展示了SurfaceView类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: stop

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/** Stops the stream. */
public synchronized void stop() {
	if (mCamera != null) {
		if (mMode == MODE_MEDIACODEC_API) {
			mCamera.setPreviewCallbackWithBuffer(null);
		}
		if (mMode == MODE_MEDIACODEC_API_2) {
			((SurfaceView)mSurfaceView).removeMediaCodecSurface();
		}
		super.stop();
		// We need to restart the preview
		if (!mCameraOpenedManually) {
			destroyCamera();
		} else {
			try {
				startPreview();
			} catch (RuntimeException e) {
				e.printStackTrace();
			}
		}
	}
}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:23,代码来源:VideoStream.java


示例2: onCreate

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    // getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_stream_android_phone);

    mSurfaceView = (SurfaceView) findViewById(R.id.surface);

    mSurfaceView.getHolder().addCallback(this);

    // Initialize RTSP client
    initRtspClient();
}
 
开发者ID:quanhua92,项目名称:libstreaming_android_studio,代码行数:17,代码来源:StreamAndroidPhone.java


示例3: onCreate

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_stream_usb_camera);
    
    mSurfaceView = (SurfaceView) findViewById(R.id.surface);
    mSurfaceView.getHolder().addCallback(this);

    mUVCCameraView = (UVCCameraTextureView) findViewById(R.id.UVCCameraTextureView);
    mUVCCameraView.setAspectRatio(UVCCamera.DEFAULT_PREVIEW_WIDTH * 1.0f / UVCCamera.DEFAULT_PREVIEW_HEIGHT);
    mUVCCameraView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mCamera == null) {
                CameraDialog.showDialog(StreamUsbCamera.this);
            } else {
                releaseUVCCamera();
            }
        }
    });
    mUSBMonitor = new USBMonitor(this, mOnDeviceConnectListener);

    // Initialize RTSP client
    initRtspClient();
}
 
开发者ID:quanhua92,项目名称:libstreaming_android_studio,代码行数:26,代码来源:StreamUsbCamera.java


示例4: setSurfaceView

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Sets a Surface to show a preview of recorded media (video). 
 * You can call this method at any time and changes will take effect next time you call {@link #start()} or {@link #startPreview()}.
 */
public void setSurfaceView(final SurfaceView view) {
	sHandler.post(new Runnable() {
		@Override
		public void run() {
			if (mVideoStream != null) {
				mVideoStream.setSurfaceView(view);
			}
		}				
	});
}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:15,代码来源:Session.java


示例5: encodeWithMediaCodecMethod2

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Video encoding is done by a MediaCodec.
 * But here we will use the buffer-to-surface methode
 */
@SuppressLint({ "InlinedApi", "NewApi" })	
protected void encodeWithMediaCodecMethod2() throws RuntimeException, IOException {

	Log.d(TAG,"Video encoded using the MediaCodec API with a surface");

	// Updates the parameters of the camera if needed
	createCamera();
	updateCamera();

	// Estimates the framerate of the camera
	measureFramerate();

	EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);

	mMediaCodec = MediaCodec.createByCodecName(debugger.getEncoderName());
	MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", mQuality.resX, mQuality.resY);
	mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, mQuality.bitrate);
	mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mQuality.framerate);	
	mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
	mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
	mMediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
	Surface surface = mMediaCodec.createInputSurface();
	((SurfaceView)mSurfaceView).addMediaCodecSurface(surface);
	mMediaCodec.start();

	// The packetizer encapsulates the bit stream in an RTP stream and send it over the network
	mPacketizer.setDestination(mDestination, mRtpPort, mRtcpPort);
	mPacketizer.setInputStream(new MediaCodecInputStream(mMediaCodec));
	mPacketizer.start();

	mStreaming = true;

}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:38,代码来源:VideoStream.java


示例6: setSurfaceView

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Sets a Surface to show a preview of recorded media (video). <br />
 * You can call this method at any time and changes will take 
 * effect next time you call {@link #start()} or {@link #startPreview()}.
 */
public void setSurfaceView(final SurfaceView view) {
	mHandler.post(new Runnable() {
		@Override
		public void run() {
			if (mVideoStream != null) {
				mVideoStream.setSurfaceView(view);
			}
		}				
	});
}
 
开发者ID:hypeapps,项目名称:Endoscope,代码行数:16,代码来源:Session.java


示例7: encodeWithMediaCodecMethod2

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Video encoding is done by a MediaCodec.
 * But here we will use the buffer-to-surface method
 */
@SuppressLint({ "InlinedApi", "NewApi" })	
protected void encodeWithMediaCodecMethod2() throws RuntimeException, IOException {

	Log.d(TAG,"Video encoded using the MediaCodec API with a surface");

	// Updates the parameters of the camera if needed
	createCamera();
	updateCamera();

	// Estimates the frame rate of the camera
	measureFramerate();

	EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);

	mMediaCodec = MediaCodec.createByCodecName(debugger.getEncoderName());
	MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", mQuality.resX, mQuality.resY);
	mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, mQuality.bitrate);
	mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mQuality.framerate);	
	mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
	mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
	mMediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
	Surface surface = mMediaCodec.createInputSurface();
	((SurfaceView)mSurfaceView).addMediaCodecSurface(surface);
	mMediaCodec.start();

	// The packetizer encapsulates the bit stream in an RTP stream and send it over the network
	mPacketizer.setInputStream(new MediaCodecInputStream(mMediaCodec));
	mPacketizer.start();

	mStreaming = true;

}
 
开发者ID:hypeapps,项目名称:Endoscope,代码行数:37,代码来源:VideoStream.java


示例8: initRtspClient

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
private void initRtspClient() {
    // Configures the SessionBuilder
    mSession = SessionBuilder.getInstance()
            .setContext(getApplicationContext())
            .setAudioEncoder(SessionBuilder.AUDIO_AAC)
            .setAudioQuality(new AudioQuality(8000, 16000))
            .setVideoQuality(new VideoQuality(UVCCamera.DEFAULT_PREVIEW_WIDTH * 2, UVCCamera.DEFAULT_PREVIEW_HEIGHT, SELECTED_FPS, 400000))
            .setVideoEncoder(SessionBuilder.VIDEO_H264)
            .setPreviewOrientation(90)
            .setSurfaceView(mSurfaceView)
            .setCallback(this).build();

    // Get Surface
    canvasSurface = mSession.getVideoTrack().getSurface();

    // Configures the RTSP client
    mClient = new RtspClient();
    mClient.setSession(mSession);
    mClient.setCallback(this);

    mSurfaceView.setAspectRatioMode(SurfaceView.ASPECT_RATIO_PREVIEW);

    String ip, port, path;

    // We parse the URI written in the Editext
    Pattern uri = Pattern.compile("rtsp://(.+):(\\d+)/(.+)");
    Matcher m = uri.matcher(AppConfig.STREAM_URL);
    m.find();
    ip = m.group(1);
    port = m.group(2);
    path = m.group(3);

    mClient.setCredentials(AppConfig.PUBLISHER_USERNAME,
            AppConfig.PUBLISHER_PASSWORD);
    mClient.setServerAddress(ip, Integer.parseInt(port));
    mClient.setStreamPath("/" + path);

    Log.e(TAG, "done initRtsp");
}
 
开发者ID:quanhua92,项目名称:libstreaming_android_studio,代码行数:40,代码来源:StreamDualUsbCamera.java


示例9: initRtspClient

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
private void initRtspClient() {
    // Configures the SessionBuilder
    mSession = SessionBuilder.getInstance()
            .setContext(getApplicationContext())
            .setAudioEncoder(SessionBuilder.AUDIO_NONE)
            .setAudioQuality(new AudioQuality(8000, 16000))
            .setVideoQuality(new VideoQuality(640, 480, 15, 200000))
            .setVideoEncoder(SessionBuilder.VIDEO_H264)
            .setSurfaceView(mSurfaceView)
            .setPreviewOrientation(90)
            .setCallback(this).build();

    // Configures the RTSP client
    mClient = new RtspClient();
    mClient.setSession(mSession);
    mClient.setCallback(this);
    mSurfaceView.setAspectRatioMode(SurfaceView.ASPECT_RATIO_PREVIEW);
    String ip, port, path;

    // We parse the URI written in the Editext
    Pattern uri = Pattern.compile("rtsp://(.+):(\\d+)/(.+)");
    Matcher m = uri.matcher(AppConfig.STREAM_URL);
    m.find();
    ip = m.group(1);
    port = m.group(2);
    path = m.group(3);

    mClient.setCredentials(AppConfig.PUBLISHER_USERNAME,
            AppConfig.PUBLISHER_PASSWORD);
    mClient.setServerAddress(ip, Integer.parseInt(port));
    mClient.setStreamPath("/" + path);
}
 
开发者ID:quanhua92,项目名称:libstreaming_android_studio,代码行数:33,代码来源:StreamAndroidPhone.java


示例10: initRtspClient

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
private void initRtspClient() {
    // Configures the SessionBuilder
    mSession = SessionBuilder.getInstance()
            .setContext(getApplicationContext())
            .setAudioEncoder(SessionBuilder.AUDIO_NONE)
            .setAudioQuality(new AudioQuality(8000, 16000))
            .setVideoQuality(new VideoQuality(640, 480, 15, 200000))
            .setVideoEncoder(SessionBuilder.VIDEO_H264)
            .setPreviewOrientation(90)
            .setSurfaceView(mSurfaceView)
            .setCallback(this).build();

    // Get Surface
    canvasSurface = mSession.getVideoTrack().getSurface();

    // Configures the RTSP client
    mClient = new RtspClient();
    mClient.setSession(mSession);
    mClient.setCallback(this);

    mSurfaceView.setAspectRatioMode(SurfaceView.ASPECT_RATIO_PREVIEW);

    String ip, port, path;

    // We parse the URI written in the Editext
    Pattern uri = Pattern.compile("rtsp://(.+):(\\d+)/(.+)");
    Matcher m = uri.matcher(AppConfig.STREAM_URL);
    m.find();
    ip = m.group(1);
    port = m.group(2);
    path = m.group(3);

    mClient.setCredentials(AppConfig.PUBLISHER_USERNAME,
            AppConfig.PUBLISHER_PASSWORD);
    mClient.setServerAddress(ip, Integer.parseInt(port));
    mClient.setStreamPath("/" + path);

    Log.e(TAG, "done initRtsp");
}
 
开发者ID:quanhua92,项目名称:libstreaming_android_studio,代码行数:40,代码来源:StreamUsbCamera.java


示例11: encodeWithMediaCodecMethod2

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Video encoding is done by a MediaCodec.
 * But here we will use the buffer-to-surface method
 */
@SuppressLint({ "InlinedApi", "NewApi" })	
protected void encodeWithMediaCodecMethod2() throws RuntimeException, IOException {

	Log.d(TAG,"Video encoded using the MediaCodec API with a surface");

	// Updates the parameters of the camera if needed
	createCamera();
	updateCamera();

	// Estimates the framerate of the camera
	measureFramerate();

	EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);

	mMediaCodec = MediaCodec.createByCodecName(debugger.getEncoderName());
	MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", mQuality.resX, mQuality.resY);
	mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, mQuality.bitrate);
	mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mQuality.framerate);	
	mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
	mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
	mMediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
	Surface surface = mMediaCodec.createInputSurface();
	((SurfaceView)mSurfaceView).addMediaCodecSurface(surface);
	mMediaCodec.start();

	// The packetizer encapsulates the bit stream in an RTP stream and send it over the network
	mPacketizer.setInputStream(new MediaCodecInputStream(mMediaCodec));
	mPacketizer.start();

	mStreaming = true;

}
 
开发者ID:Oo-Dev,项目名称:OoDroid2,代码行数:37,代码来源:VideoStream.java


示例12: setSurfaceView

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Sets a Surface to show a preview of recorded media (video). <br />
 * You can call this method at any time and changes will take 
 * effect next time you call {@link #start()} or {@link #startPreview()}.
 */
public void setSurfaceView(final SurfaceView view) {
	sHandler.post(new Runnable() {
		@Override
		public void run() {
			if (mVideoStream != null) {
				mVideoStream.setSurfaceView(view);
			}
		}				
	});
}
 
开发者ID:mnhkahn,项目名称:cInterphone,代码行数:16,代码来源:Session.java


示例13: encodeWithMediaCodecMethod2

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/**
 * Video encoding is done by a MediaCodec.
 * But here we will use the buffer-to-surface methode
 */
@SuppressLint({ "InlinedApi", "NewApi" })	
protected void encodeWithMediaCodecMethod2() throws RuntimeException, IOException {

	Log.d(TAG,"Video encoded using the MediaCodec API with a surface");

	// Updates the parameters of the camera if needed
	createCamera();
	updateCamera();

	// Estimates the framerate of the camera
	measureFramerate();

	EncoderDebugger debugger = EncoderDebugger.debug(mSettings, mQuality.resX, mQuality.resY);

	mMediaCodec = MediaCodec.createByCodecName(debugger.getEncoderName());
	MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", mQuality.resX, mQuality.resY);
	mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, mQuality.bitrate);
	mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mQuality.framerate);	
	mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
	mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
	mMediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
	Surface surface = mMediaCodec.createInputSurface();
	((SurfaceView)mSurfaceView).addMediaCodecSurface(surface);
	mMediaCodec.start();

	// The packetizer encapsulates the bit stream in an RTP stream and send it over the network
	mPacketizer.setInputStream(new MediaCodecInputStream(mMediaCodec));
	mPacketizer.start();

	mStreaming = true;

}
 
开发者ID:mnhkahn,项目名称:cInterphone,代码行数:37,代码来源:VideoStream.java


示例14: onCreate

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	mApplication = (SpydroidApplication) getApplication();

	setContentView(R.layout.gwidi);

	if (findViewById(R.id.handset_pager) != null) {

		// Handset detected !
		mAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
		mViewPager = (ViewPager) findViewById(R.id.handset_pager);
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
		mSurfaceView = (SurfaceView)findViewById(R.id.handset_camera_view);
		SessionBuilder.getInstance().setSurfaceView(mSurfaceView);
		SessionBuilder.getInstance().setPreviewOrientation(90);
		
	} else {

		// Tablet detected !
		device = TABLET;
		mAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
		mViewPager = (ViewPager) findViewById(R.id.tablet_pager);
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
		SessionBuilder.getInstance().setPreviewOrientation(0);
		
	}

	mViewPager.setAdapter(mAdapter);

	// Remove the ads if this is the donate version of the app.
	if (mApplication.DONATE_VERSION) {
		((LinearLayout)findViewById(R.id.adcontainer)).removeAllViews();
	}

	// Prevents the phone from going to sleep mode
	PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
	mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "net.majorkernelpanic.spydroid.wakelock");

	// Starts the service of the HTTP server
	this.startService(new Intent(this,CustomHttpServer.class));

	// Starts the service of the RTSP server
	this.startService(new Intent(this,CustomRtspServer.class));

}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:47,代码来源:SpydroidActivity.java


示例15: setSurfaceView

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/** 
 * Sets the SurfaceView required to preview the video stream. 
 **/
public SessionBuilder setSurfaceView(SurfaceView surfaceView) {
	mSurfaceView = surfaceView;
	return this;
}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:8,代码来源:SessionBuilder.java


示例16: getSurfaceView

import net.majorkernelpanic.streaming.gl.SurfaceView; //导入依赖的package包/类
/** Returns the SurfaceView set with {@link #setSurfaceView(SurfaceView)}. */
public SurfaceView getSurfaceView() {
	return mSurfaceView;
}
 
开发者ID:ghazi94,项目名称:Android_CCTV,代码行数:5,代码来源:SessionBuilder.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java IWizardCategory类代码示例发布时间:2022-05-23
下一篇:
Java EnvelopeImpl类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap