当我想使用 twilio video api 和 ARcore 流式传输自定义视图时遇到问题,基本上它会流式传输黑屏。我使用了 ViewCapturer 类从示例到此链接https://github.com/twilio/video-quickstart-android/tree/master/exampleCustomVideoCapturer从官方文档,但不适用于arcore,可能是由于存在arFragment 中的表面视图。
感谢您的支持。
活动相机.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".CameraARActivity">
<fragment
android:id="@+id/ux_fragment"
android:name="com.google.ar.sceneform.ux.ArFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:background="#c100a5a0"
android:visibility="gone" />
<ImageButton
android:id="@+id/btnCloseChat"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="86dp"
android:layout_marginEnd="13dp"
android:background="@android:color/transparent"
android:contentDescription="Close chat button"
android:src="@drawable/ic_close_black_24dp"
android:visibility="gone" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
本地视频创建行:
screenVideoTrack = LocalVideoTrack.create(CameraARActivity.this, true, new ViewCapturer(mArFragment.getArSceneView()));
Run Code Online (Sandbox Code Playgroud)
和 ViewCapturer 类
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
import android.view.View;
import com.twilio.video.VideoCapturer;
import com.twilio.video.VideoDimensions; …Run Code Online (Sandbox Code Playgroud) 我是意大利人,我为我的英语道歉。
我有两个 POJO 类,它们在我的数据库中表示一个父表和一个子表。
家长。角色.java
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "nome", length = 30, nullable = false)
private String nome;
@Column(name = "cognome", length = 30, nullable = false)
private String cognome;
@Column(name = "eta")
private int eta;
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REFRESH}, mappedBy = "persona", orphanRemoval = false)
@Column(nullable = true)
private List<Telefono> numeriDiTelefono;
// Others getters and setters
Run Code Online (Sandbox Code Playgroud)
孩子。Telefono.java
@Id
@Column(name = "numero_telefono")
private String numeroDiTelefono;
@Column(name = "tipo")
private String tipo;
@ManyToOne(cascade = {CascadeType.REMOVE, …Run Code Online (Sandbox Code Playgroud)