Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

参考iOS上的HTY360PlayerIOS项目,做了一个Android上全景视频渲染的库 | It is a lite library to render 360 dgree panorama video for Android.

License

Notifications You must be signed in to change notification settings

diycoder/MD360Player4Android

Repository files navigation

MD360Player4Android

It is a lite library to render 360 dgree panorama video for Android.

Preview

ScreenShot

Demo APK

MD360PlayerDemo.apk(21.7M, 360 demo video included)

NOTICE

  • OpenGLES 2.0 required
  • Android 4.0.3 (IceCreamSandwich API-15) required

Gradle

Coming soon.

USAGE

There are two way to use this library depend on your requirement,

Using MDGLSurfaceView

STEP1 define com.asha.vrlib.MDGLSurfaceView in the layout xml.

...
 <com.asha.vrlib.MDGLSurfaceView
 android:id="@+id/md_surface_view"
 android:layout_width="match_parent"
 android:layout_height="match_parent" />
...

STEP2 attach the android.view.Surface to your MediaPlayer or something else when the surface is ready.

public class MDGLSurfaceViewDemoActivity extends MediaPlayerActivity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_md_gl_surface);
 MDGLSurfaceView mGLSurfaceView = (MDGLSurfaceView) findViewById(R.id.md_surface_view);
 mGLSurfaceView.init(new MD360Renderer.IOnSurfaceReadyListener() {
 @Override
 public void onSurfaceReady(Surface surface) {
 //MediaPlayer or something else.
 getPlayer().setSurface(surface);
 }
 });
 }
}

More Flexible Way: MD360Renderer

STEP1 build a MD360Renderer and attach the android.view.Surface.

public class MD360RenderDemoActivity extends MediaPlayerActivity {
 private MD360Renderer mRenderer;
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_md_render);
 mRenderer = MD360Renderer.with(this)
 .listenSurfaceReady(new MD360Renderer.IOnSurfaceReadyListener() {
 @Override
 public void onSurfaceReady(Surface surface) {
 getPlayer().setSurface(surface);
 }
 })
 .build();
 
 // init OpenGL
 initOpenGL(R.id.surface_view);
 }
}

STEP2 init OpenGL by yourself, and set the MD360Renderer to your android.opengl.GLSurfaceView

private void initOpenGL(int glSurfaceViewResId) {
 mGLSurfaceView = (GLSurfaceView) findViewById(glSurfaceViewResId);
 if (GLUtil.supportsEs2(this)) {
 // Request an OpenGL ES 2.0 compatible context.
 mGLSurfaceView.setEGLContextClientVersion(2);
 // Set the renderer to our demo renderer, defined below.
 mGLSurfaceView.setRenderer(mRenderer);
 } else {
 mGLSurfaceView.setVisibility(View.GONE);
 Toast.makeText(MD360RenderDemoActivity.this, "OpenGLES2 not supported.", Toast.LENGTH_SHORT).show();
 }
}

Reference

LICENSE

The MIT License (MIT)
Copyright (c) 2016 Asha

About

参考iOS上的HTY360PlayerIOS项目,做了一个Android上全景视频渲染的库 | It is a lite library to render 360 dgree panorama video for Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 91.4%
  • GLSL 8.6%

AltStyle によって変換されたページ (->オリジナル) /