Does anyone have any information on how to get a broadcast link from the Twilio API?
I want to stream video with VideoTextureView
. I tried to do it with the code below, but I couldn't find a broadcast link with the Twilio API.
I'm receiving the following error:
Caused by: java.lang.ClassCastException: com.twilio.video.VideoTextureView cannot be cast to android.widget.VideoView
My code:
public class MainActivity extends AppCompatActivity {
private ImageButton button, button1, button2;
private GridLayout gridLayout;
private ImageView circle, dislike, like;
private VideoView videoView;
private String videoPath;
private VideoTextureView videoTextureView;
private Uri uri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.circle);
button1 = findViewById(R.id.dislike);
button2 = findViewById(R.id.like);
circle = findViewById(R.id.imageView);
dislike = findViewById(R.id.imageView2);
like = findViewById(R.id.imageView3);
circle.setVisibility(View.INVISIBLE);
dislike.setVisibility(View.INVISIBLE);
like.setVisibility(View.INVISIBLE);
videoView = findViewById(R.id.video_view_top_right);
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.video);
videoView.setVideoURI(uri);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Circle",
Toast.LENGTH_LONG).show();
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Dislike",
Toast.LENGTH_LONG).show();
}
});
button2.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Like",
Toast.LENGTH_LONG).show();
findViewById(R.id.imageView);
}
});
}
}
Layout File:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.twilio.video.VideoTextureView
android:id="@+id/video_view_top_right"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gift"
android:layout_width="106dp"
android:layout_height="106dp"
android:layout_gravity="center"
android:layout_marginTop="492dp"
android:layout_marginEnd="168dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="70dp"
android:layout_height="58dp"
android:layout_marginStart="61dp"
android:layout_marginTop="244dp"
android:layout_marginEnd="40dp"
app:layout_constraintEnd_toStartOf="@+id/imageView2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/launch1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="70dp"
android:layout_height="58dp"
android:layout_marginTop="244dp"
android:layout_marginEnd="40dp"
app:layout_constraintEnd_toStartOf="@+id/imageView3"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/launch2" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="70dp"
android:layout_height="58dp"
android:layout_marginEnd="60dp"
android:layout_marginBottom="428dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@mipmap/launch3" />
<ImageButton
android:id="@+id/circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="37dp"
android:layout_marginBottom="4dp"
android:background="@mipmap/launch1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/dislike"
app:layout_constraintHorizontal_bias="0.574"
app:layout_constraintStart_toStartOf="parent" />
<ImageButton
android:id="@+id/dislike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/launch2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.499"
app:layout_constraintStart_toStartOf="parent"></ImageButton>
<ImageButton
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="60dp"
android:layout_marginBottom="4dp"
android:background="@mipmap/launch3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.447"
app:layout_constraintStart_toEndOf="@+id/dislike"></ImageButton>
</androidx.constraintlayout.widget.ConstraintLayout>
The error received:
2020-08-10 22:28:03.331 13296-13296/com.bariskarapelit.stajprojesi_1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.bariskarapelit.stajprojesi_1, PID: 13296
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bariskarapelit.stajprojesi_1/com.bariskarapelit.stajprojesi_1.MainActivity}: java.lang.ClassCastException: com.twilio.video.VideoTextureView cannot be cast to android.widget.VideoView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3126)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3269)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1960)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7094)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Caused by: java.lang.ClassCastException: com.twilio.video.VideoTextureView cannot be cast to android.widget.VideoView
at com.bariskarapelit.stajprojesi_1.MainActivity.onCreate(MainActivity.java:49)
at android.app.Activity.performCreate(Activity.java:7340)
at android.app.Activity.performCreate(Activity.java:7331)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3106)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3269)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1960)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7094)
at java.lang.reflect.Method.invoke(Native Method)
Stream video in android VideoView and use screencast API of Twilio to broadcast your video. Twilio's VideoTextureView is for showing the camera view or screen. Follow the link below,
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.