-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
I am trying to run the example code from video_player Flutter Package page (https://pub.dev/packages/video_player/versions/0.6.0):
`import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';
void main() => runApp(VideoApp());
class VideoApp extends StatefulWidget {
@override
_VideoAppState createState() => _VideoAppState();
}
class _VideoAppState extends State<VideoApp> {
VideoPlayerController _controller;
bool _isPlaying = false;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.network(
'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4',
)
..addListener(() {
final bool isPlaying = _controller.value.isPlaying;
if (isPlaying != _isPlaying) {
setState(() {
_isPlaying = isPlaying;
});
}
})
..initialize().then((_) {
// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
setState(() {});
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Video Demo',
home: Scaffold(
body: Center(
child: _controller.value.initialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: Container(),
),
floatingActionButton: FloatingActionButton(
onPressed: _controller.value.isPlaying
? _controller.pause
: _controller.play,
child: Icon(
_controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
),
),
),
);
}
}
`
using android api 19 and facing many bugs:
D/ ( 3534): HostConnection::get() New Host Connection established 0xb8092cd0, tid 3549 D/dalvikvm( 3534): GC_CONCURRENT freed 261K, 11% free 3175K/3560K, paused 2ms+1ms, total 11ms E/ExoPlayerImplInternal( 3534): Source error. E/ExoPlayerImplInternal( 3534): com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4 E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:194) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:848) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:317) E/ExoPlayerImplInternal( 3534): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) E/ExoPlayerImplInternal( 3534): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) E/ExoPlayerImplInternal( 3534): at java.lang.Thread.run(Thread.java:841) E/ExoPlayerImplInternal( 3534): Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb81b42e0: Failure in SSL library, usually a protocol error E/ExoPlayerImplInternal( 3534): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d90b990:0x00000000) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.Connection.upgradeToTls(Connection.java:146) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.Connection.connect(Connection.java:107) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89) E/ExoPlayerImplInternal( 3534): at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:429) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:356) E/ExoPlayerImplInternal( 3534): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:192) E/ExoPlayerImplInternal( 3534): ... 5 more E/ExoPlayerImplInternal( 3534): Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb81b42e0: Failure in SSL library, usually a protocol error E/ExoPlayerImplInternal( 3534): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d90b990:0x00000000) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method) E/ExoPlayerImplInternal( 3534): at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405) E/ExoPlayerImplInternal( 3534): ... 16 more