জেটপ্যাক XR SDK সমতল পৃষ্ঠে স্টেরিওস্কোপিক পাশাপাশি ভিডিও প্লেব্যাক সমর্থন করে। স্টেরিওস্কোপিক ভিডিওর সাথে, দর্শকদের গভীরতার ধারনা দিতে প্রতিটি ফ্রেমে একটি বাম-চোখ এবং একটি ডান-চোখের ছবি থাকে।
আপনি Android XR অ্যাপে নন-স্টেরিওস্কোপিক 2D ভিডিও রেন্ডার করতে পারেন যা অন্যান্য ফর্ম ফ্যাক্টরগুলিতে অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য ব্যবহৃত স্ট্যান্ডার্ড মিডিয়া APIs সহ।
Jetpack XR SDK ব্যবহার করে পাশাপাশি ভিডিও চালান
পাশাপাশি ভিডিওর সাথে, প্রতিটি স্টেরিওস্কোপিক ফ্রেম একে অপরের সংলগ্ন অনুভূমিকভাবে সাজানো দুটি চিত্র হিসাবে উপস্থাপন করা হয়। উপরের এবং নীচের ভিডিও ফ্রেমগুলি একে অপরের সংলগ্ন উল্লম্বভাবে সাজানো হয়।
পাশাপাশি ভিডিও একটি কোডেক নয় বরং স্টেরিওস্কোপিক ফ্রেমগুলিকে সংগঠিত করার একটি উপায়, যার মানে এটি Android দ্বারা সমর্থিত যেকোনো কোডেকে এনকোড করা যেতে পারে৷
আপনি Media3 Exoplayer ব্যবহার করে পাশাপাশি ভিডিও লোড করতে পারেন এবং তারপর নতুন StereoSurfaceEntity
ব্যবহার করে রেন্ডার করতে পারেন। একটি StereoSurfaceEntity
তৈরি করতে, আপনার Session
createStereoSurfaceEntity()
কল করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
stereoSurfaceEntity = xrSession.createStereoSurfaceEntity(
StereoSurfaceEntity.StereoMode.SIDE_BY_SIDE,
Dimensions(2.0F, 2.0F, 0.0F),
// Position 1.5 meters in front of user
Pose(Vector3(0.0f, 0.0f, -1.5f), Quaternion(0.0f, 0.0f, 0.0f, 1.0f))
)
val videoUri = Uri.Builder()
.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
.path(R.raw.sbs_test_video.toString())
.build()
val mediaItem = MediaItem.fromUri(videoUri)
exoPlayer = ExoPlayer.Builder(this).build()
exoPlayer.setVideoSurface(stereoSurfaceEntity!!.getSurface())
exoPlayer.setMediaItem(mediaItem)
exoPlayer.prepare()
exoPlayer.play()