掘金 | 知乎 | CSDN | 简书 |
---|---|---|---|
点我 | 点我 | 点我 | 点我 |
- 领域主要 Android、Flutter、React Native
支持视频、直播源播放;边下边播放;清晰度、播放速度设置;离线下载;支持下载断点续传
License: MIT License
感谢作者移植这么好的播放器,正好需要。
我把清晰度切换,改成了剧集切换。
类似把电视剧所有播放地址都传过来。
怎么实现自动下一集?
控制器监听进度条的变换,iOS TencentPlayerController.value.position一直为0,已经是0.10.0版本的了
pubspec.yaml文件中29-36行
platforms:
# This plugin project was generated without specifying any
# platforms with the --platform
argument. If you see the fake_platform
map below, remove it and
# then add platforms following the instruction here:
# https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin-platforms
# -------------------
some_platform:
pluginClass: somePluginClass
应该是 @qq326646683 你生成的吧,造成安卓和ios都无法引用这个插件了
应该改为
androidPackage: com.jinxian.flutter_tencentplayer
pluginClass: FlutterTencentplayerPlugin
AspectRatio
比例来搞,会有黑边最小0.9
我做了一个定制高度组件比例是横屏占左边一半,
但是我想让视频铺满,没有看到关于填充模式的api,想请问一下应该怎么做
最新版本手动修改 pubspec.yaml, 在flutter 1.17运行正常。
没有依赖新版本特性的话,请尽量放低要求
/android/build.gradle
`
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
allprojects {
repositories {
google()
jcenter()
flatDir {
dirs "${plugins.get("flutter_tencentplayer")}android/libs"
}
maven { url 'http://download.flutter.io' }
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
<project>/android/app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystorePropertiesFile = rootProject.file('key.properties')
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.zhibo"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
ndk {
//设置支持的SO库架构
abiFilters 'armeabi-v7a'
}
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
// minifyEnabled false
// useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
`
功能还是非常好用的。但目前只能下载包含了ts文件的m3u8地址,对于需要重定向的地址不支持如"https://v2.438vip.com/20170918/YCBDXfYz/index.m3u8"内容如下:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000,RESOLUTION=1024x576
1000kb/hls/index.m3u8
可以考虑完善一下。
INFO: The option setting 'android.enableR8=true' is experimental and unsupported.
The current default is 'false'
Consider disabling R8 by removing 'android.enableR8=true' from your gradle.properties before publishing your app.
Affected Modules: app, flutter_forbidshot, flutter_tencentplayer_plus, path_provider, path_provider_macos, screen
蛮多错误的。
你好非常感谢你封装的播放器,给我带来很大的便利,谢谢然后我在使用的过程中发现,iOS端 在设置progressInterval 参数后 没有效果, 不知是否可以帮忙查看下~谢谢
安卓打包后点击视频闪退
According to the docs on the TencentPlayer SDK it was noted that the player supported adaptive streaming but while testing the Flutter TencentPlayer the video only plays one stream and does not adapt.
当我初始页面是一个竖向小窗口播放器 -> 然后切换到大屏幕播放器-> 点击切换分辨率。返回前一个窗口。前一个窗口会进入暂停状态。demo中会如此,我在现实的项目中也遇到了。能麻烦帮忙看看么?
你好,在安卓模拟器中,打开网络视频时,直接闪退,只要打开视频就闪退了
1.mac系统 2.跑当是你当git中当示例
当打开一个视频时候, 报错如下:
D/EGL_emulation(26772): eglMakeCurrent: 0xf1380e20: ver 3 0 (tinfo 0xc11d6ae0)
D/EGL_emulation(26772): eglMakeCurrent: 0xe5fe8a40: ver 3 0 (tinfo 0xe60c8a00)
D/EGL_emulation(26772): eglMakeCurrent: 0xf1380e20: ver 3 0 (tinfo 0xc11d6ae0)
W/Native-LiteAV(26772): load library txffmpeg from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(26772): load library txffmpeg false
W/Native-LiteAV(26772): load library traeimp-rtmp from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(26772): load library traeimp-rtmp false
W/Native-LiteAV(26772): load library liteavsdk from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libliteavsdk.so"
W/Native-LiteAV(26772): load library liteavsdk false
W/Native-LiteAV(26772): load library txffmpeg from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(26772): load library txffmpeg false
W/Native-LiteAV(26772): load library traeimp-rtmp from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(26772): load library traeimp-rtmp false
W/Native-LiteAV(26772): load library liteavsdk from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libliteavsdk.so"
W/Native-LiteAV(26772): load library liteavsdk false
W/Native-LiteAV(26772): load library txffmpeg from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(26772): load library txffmpeg false
W/Native-LiteAV(26772): load library traeimp-rtmp from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(26772): load library traeimp-rtmp false
W/Native-LiteAV(26772): load library liteavsdk from system path
W/Native-LiteAV(26772): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk"],nativeLibraryDirectories=[/data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86, /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/base.apk!/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libliteavsdk.so"
W/Native-LiteAV(26772): load library liteavsdk false
E/tplayer_exampl(26772): No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
E/flutter (26772): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.UnsatisfiedLinkError: No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
E/flutter (26772): at com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport(Native Method)
E/flutter (26772): at com.tencent.liteav.basic.datareport.TXCDRApi.(TXCDRApi.java:393)
E/flutter (26772): at com.tencent.liteav.basic.datareport.TXCDRApi.initCrashReport(TXCDRApi.java:372)
E/flutter (26772): at com.tencent.rtmp.TXVodPlayer.startPlay(TXVodPlayer.java:183)
E/flutter (26772): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.setPlaySource(FlutterTencentplayerPlugin.java:193)
E/flutter (26772): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.(FlutterTencentplayerPlugin.java:82)
E/flutter (26772): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin.onMethodCall(FlutterTencentplayerPlugin.java:473)
E/flutter (26772): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
E/flutter (26772): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (26772): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/flutter (26772): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (26772): at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter (26772): at android.os.Looper.loop(Looper.java:174)
E/flutter (26772): at android.app.ActivityThread.main(ActivityThread.java:7356)
E/flutter (26772): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (26772): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/flutter (26772): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
E/flutter (26772):
F/flutter (26772): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
F/libc (26772): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 26772 (tplayer_example), pid 26772 (tplayer_example)
Build fingerprint: 'google/sdk_gphone_x86/generic_x86:10/QSR1.190920.001/5891938:user/release-keys'
Revision: '0'
ABI: 'x86'
Timestamp: 2020-05-11 13:10:59+0800
pid: 26772, tid: 26772, name: tplayer_example >>> com.jinxian.flutter_tencentplayer_example <<<
uid: 10146
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
'
eax 00000000 ebx 00006894 ecx 00006894 edx 00000006
edi ee98933e esi ffeb9520
ebp f168cad0 esp ffeb94c8 eip f168cad9
backtrace:
#00 pc 00000ad9 [vdso] (__kernel_vsyscall+9)
#1 pc 00092328 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: 76290498408016ad14f4b98c3ab6c65c)
#2 pc 000ad651 /apex/com.android.runtime/lib/bionic/libc.so (abort+193) (BuildId: 76290498408016ad14f4b98c3ab6c65c)
#3 pc 0113d6e2 /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#4 pc 01129ef5 /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#5 pc 0112799e /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#6 pc 01194473 /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#7 pc 0113baf3 /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#8 pc 0113e437 /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#9 pc 0113e37a /data/app/com.jinxian.flutter_tencentplayer_example-ZbCFKblyxaD83aTz_SSZwA==/lib/x86/libflutter.so (BuildId: 882b627e1004b36ce49b72e29210757a9ba6ced5)
#10 pc 0008d8bf [anon:libc_malloc]
Lost connection to device.
Exited (sigterm)
07-09 14:48:23.366 18141-18141/com.jinxian.flutter_tencentplayer_example E/flutter: [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.OutOfMemoryError
at com.tencent.ijk.media.player.IjkMediaPlayer._prepareAsync(Native Method)
at com.tencent.ijk.media.player.IjkMediaPlayer.prepareAsync(IjkMediaPlayer.java:530)
at com.tencent.ijk.media.player.MediaPlayerProxy.prepareAsync(MediaPlayerProxy.java:98)
at com.tencent.liteav.txcvodplayer.TXCVodVideoView.f(TXCVodVideoView.java:477)
at com.tencent.liteav.txcvodplayer.TXCVodVideoView.setVideoURI(TXCVodVideoView.java:321)
at com.tencent.liteav.txcvodplayer.TXCVodVideoView.setVideoPath(TXCVodVideoView.java:306)
at com.tencent.liteav.f.a(TXCVodPlayer.java:101)
at com.tencent.rtmp.TXVodPlayer.startPlay(TXVodPlayer.java:228)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.setPlaySource(FlutterTencentplayerPlugin.java:193)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.(FlutterTencentplayerPlugin.java:82)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin.onMethodCall(FlutterTencentplayerPlugin.java:473)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:231)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:93)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:642)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:138)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:5110)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:702)
at dalvik.system.NativeStart.main(Native Method)
W/Native-LiteAV(26284): load library c++_shared from system path
W/Native-LiteAV(26284): load library c++_shared true
W/Native-LiteAV(26284): load library saturn from system path
W/Native-LiteAV(26284): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/base.apk"],nativeLibraryDirectories=[/data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/lib/arm64, /data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]] couldn't find "libsaturn.so"
W/Native-LiteAV(26284): load library saturn false
W/Native-LiteAV(26284): load library txffmpeg from system path
W/Native-LiteAV(26284): load library txffmpeg true
W/Native-LiteAV(26284): load library traeimp-rtmp from system path
W/Native-LiteAV(26284): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/base.apk"],nativeLibraryDirectories=[/data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/lib/arm64, /data/app/cn.vove7.flutter_yyets-V9eUeDs9zjOZkpLta7uRfw==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(26284): load library traeimp-rtmp false
W/Native-LiteAV(26284): load library liteavsdk from system path
W/JNI_UTIL(26284): JniHelper::setJavaVM(0x78a820b380), thread = 518238969552
I/JNI_UTIL(26284): JniHelper::cacheEnv when no cache in thread = 518238969552
D/JNI_UTIL(26284): JniHelper::GetEnv JNI_OK cache env 0x78a81bc2c0
I/Native-LiteAV(26284): ################ liteavsdk 6.9.8321 arm64 ###############
W/Native-LiteAV(26284): load library liteavsdk true
I/TXCLog (26284): TXCLog init log file path : /storage/emulated/0/Android/data/cn.vove7.flutter_yyets/files/log/tencent/liteav, cache : /data/user/0/cn.vove7.flutter_yyets/files/log/tencent/liteav
W/Unknow (26284): ^^^^^^^^^^Jan 14 2020^^^19:12:23^^^^^^^^^^[26284,26284][2020-05-07 +0800 16:15:18]
W/Unknow (26284): del time out files time: 0
W/Unknow (26284): get mmap time: 3
W/Unknow (26284): SDK_VERSION: 6.9.8321
W/Unknow (26284): SDK_ID: 2
W/Unknow (26284): log appender mode:0, use mmap:1
W/JNI_UTIL(26284): ignore JniHelper::setJavaVM, old java vm 0x78a820b380, new java vm 0x78a820b380
I/TXVodPlayer(26284): ===========================================================================================================================================================
I/TXVodPlayer(26284): ===========================================================================================================================================================
I/TXVodPlayer(26284): ===== StartPlay url = /storage/emulated/0/Android/data/xxxxx/download/xxxxxx.mkv SDKVersion = 2 , 6.9.8321 ======
I/TXVodPlayer(26284): ===========================================================================================================================================================
I/TXVodPlayer(26284): ===========================================================================================================================================================
I/TXCVodVideoView(26284): setRenderView null
I/TXCVodVideoView(26284): setBitrateIndex 0
I/TXCVodVideoView(26284): setVideoURI /storage/emulated/0/Android/data/xxxxx/download/xxxxxx.mkv
I/TXCVodVideoView(26284): openVideo
W/AudioManager(26284): Use of stream types is deprecated for operations other than volume control
W/AudioManager(26284): See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case
W/Native-LiteAV(26284): load library txffmpeg from system path
W/Native-LiteAV(26284): load library txsdl from system path
D/J4A (26284): J4ALoader: OK: 'android.os.Build$VERSION' loaded
D/J4A (26284): J4ALoader: OK: 'android.os.Build' loaded
D/J4A (26284): J4ALoader: OK: 'java.nio.Buffer' loaded
D/J4A (26284): J4ALoader: OK: 'java.nio.ByteBuffer' loaded
D/J4A (26284): J4ALoader: OK: 'java.util.ArrayList' loaded
I/J4A (26284): API-Level: 29
D/J4A (26284): J4ALoader: OK: 'android.media.AudioTrack' loaded
D/J4A (26284): J4ALoader: OK: 'android.media.MediaCodec$BufferInfo' loaded
D/J4A (26284): J4ALoader: OK: 'android.media.MediaCodec' loaded
D/J4A (26284): J4ALoader: OK: 'android.media.MediaFormat' loaded
D/J4A (26284): J4ALoader: OK: 'android.media.PlaybackParams' loaded
D/J4A (26284): J4ALoader: OK: 'android.os.Bundle' loaded
D/J4A (26284): J4ALoader: OK: 'com.tencent.ijk.media.player.misc.IMediaDataSource' loaded
D/J4A (26284): J4ALoader: OK: 'com.tencent.ijk.media.player.misc.IAndroidIO' loaded
D/J4A (26284): J4ALoader: OK: 'com.tencent.ijk.media.player.IjkMediaPlayer' loaded
W/Native-LiteAV(26284): load library txplayer from system path
I/IJKMEDIA(26284): av_version_info: ff3.3--fx0.8.0--20181102--001
I/IJKMEDIA(26284): ijk_version_info: 5.3-8-gaddc0d0b4
D/IJKMEDIA(26284): ffpipeline_create_from_android()
D/IJKMEDIA(26284): ffpipeline_set_mediacodec_select_callback
D/IJKMEDIA(26284): moncleanup
I/TXCVodVideoView(26284): ijk mediacodec false
D/IJKMEDIA(26284): moncleanup
I/TXCVodVideoView(26284): ijk media player com.tencent.ijk.media.player.IjkMediaPlayer@b0c5157
V/IJKMEDIA(26284): setDataSource: path /storage/emulated/0/Android/data/xxxxx/download/xxxxxx.mkv
I/TXCVodVideoView(26284): bindSurfaceHolder
D/IJKMEDIA(26284): ffpipeline_set_surface()
W/com.tencent.ijk.media.player.IjkMediaPlayer(26284): setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder
D/IJKMEDIA(26284): ffpipeline_set_volume
I/IJKMEDIA(26284): SDL_RunThread: [1754] ff_msg_loop
D/IJKMEDIA(26284): ffpipeline_set_volume
I/TXCVodVideoView(26284): setRate 1.0
I/TXCVodVideoView(26284): start
D/TXVodPlayer(26284): startPlay /storage/emulated/0/Android/data/xxxxx/download/xxxxxx.mkv
引入之后出现
D:\work\flutter\FireTiger\fireTiger\android\app\src\debug\AndroidManifest.xml:29:9-29 Error:
Attribute application@label value=(��ֱ��) from AndroidManifest.xml:29:9-29
is also present at [:LiteAVSDK_Player_7.4.9211:] AndroidManifest.xml:26:9-41 value=(@string/app_name).
Suggestion: add 'tools:replace="android:label"' to element at AndroidManifest.xml:27:5-62:19 to override.
Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute application@label value=(��ֱ��) from AndroidManifest.xml:29:9-29
is also present at [:LiteAVSDK_Player_7.4.9211:] AndroidManifest.xml:26:9-41 value=(@string/app_name).
Suggestion: add 'tools:replace="android:label"' to element at AndroidManifest.xml:27:5-62:19 to override.
FAILURE: Build failed with an exception.
Could not resolve all task dependencies for configuration ':flutter_tencentplayer:debugCompileClasspath'.
Could not find :LiteAVSDK_Player:.
Required by:
project :flutter_tencentplayer
Could not find :libsuperplayer:.
Required by:
project :flutter_tencentplayer
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 1s
so文件得有二三十兆
两个情况
1:退出页面的时候,视频还播放着呢。有偶然的几率
2:视频全屏再切换到半屏的情况下,有的时候会闪,然后视频就看不到了
两个情况都是使用你自己提供的的那个apk
估计叫这名字的库还挺多的
希望也能能支持音频播放 支持录音与播放的功能
TencentPlayerController controller;
VoidCallback listener;
bool isLock = false;
bool showCover = false;
Timer timer;
@OverRide
void initState() {
super.initState();
_initController();
controller.addListener(listener);
Screen.keepOn(true);
csc();
}
@OverRide
Future dispose() {
super.dispose();
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom]);
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]);
controller.removeListener(listener);
if (widget.controller == null) {
controller.dispose();
}
ForbidShotUtil.disposeForbid();
Screen.keepOn(false);
}
Future csc() async {
if (await Permission.contacts.request().isGranted) {}
Map<Permission, PermissionStatus> statuses = await [
Permission.location,
Permission.storage,
].request();
}
initController() {
if (widget.controller != null) {
controller = widget.controller;
return;
}
controller = TencentPlayerController.file(widget.dataSource);
controller.initialize();
Timer.periodic(Duration(seconds: 1), (time) {
if (controller.value.isPlaying==false) {
controller.removeListener(listener);
controller = TencentPlayerController.file('/storage/emulated/0/test.mp4');
controller.initialize().then(() {
setState(() {});
});
controller.addListener(listener);
Screen.keepOn(true);
}
});
}
@OverRide
Widget build(BuildContext context) {
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeLeft,
DeviceOrientation.landscapeRight
]);
ScreenUtil.init(context, width: 414, height: 736, allowFontScaling: true);
return Scaffold(
body: Row(
children: [
SizedBox(
height: ScreenUtil().setHeight(736),
width: ScreenUtil().setWidth(220),
child: GestureDetector(
onDoubleTap: () {
if (controller.value.isPlaying) {
controller.pause();
} else {
controller.play();
}
},
child: Container(
color: Colors.black,
child: Stack(
overflow: Overflow.visible,
alignment: Alignment.center,
children: [
AspectRatio(aspectRatio: 0.95,
child: TencentPlayer(controller),
)
],
),
),
),
),
SizedBox(
height: ScreenUtil().setHeight(736),
width: ScreenUtil().setWidth(194),
child: Swiper(
itemBuilder: (BuildContext context, int index) {
return new Image.network(
"http://via.placeholder.com/350x150",
fit: BoxFit.fill,
);
},
itemCount: 3,
autoplay: true,
),
)
],
),
);
}
}
主要功能就是,循环播放本地的视频文件,会有不同的视频文件被播放,但是测试下来,超过30次播放就会奔溃
While testing this player on an Android on debug, it suddenly crashes when the player has finished initialization:
Here are the logs when the device crashed:
#28 pc 002f8e0a /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.12194892193087984976+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #29 pc 002ffcc5 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+181) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #30 pc 0066fbd9 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+1209) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #31 pc 0014503d /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+77) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #32 pc 0013e9a2 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+418) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #33 pc 00149a7a /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #34 pc 0055a513 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+99) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #35 pc 0055c32f /apex/com.android.runtime/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1327) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #36 pc 004c9153 /apex/com.android.runtime/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+83) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #37 pc 000c6bf8 /system/framework/x86/boot.oat (art_jni_trampoline+168) (BuildId: 7913dbaef2e8d9971cb7619ef0d566987f8326a7) #38 pc 0013e7d2 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+338) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #39 pc 00149a69 /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+281) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #40 pc 00332502 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+386) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #41 pc 0032c19c /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+988) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #42 pc 0068186d /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+989) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #43 pc 00138821 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+33) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #44 pc 0034cd36 /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22) #45 pc 002f8e0a /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.12194892193087984976+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #46 pc 002ffcc5 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+181) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #47 pc 0066fbd9 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+1209) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #48 pc 0014503d /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+77) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #49 pc 00998b08 /system/framework/x86/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1816) (BuildId: ff6ec03dd8445d20788424c92ba8ea28ad0f54f4) #50 pc 0013e9a2 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+418) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #51 pc 00149a7a /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+298) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #52 pc 0055a513 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+99) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #53 pc 0055a1ae /apex/com.android.runtime/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*)+430) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #54 pc 004305cd /apex/com.android.runtime/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+893) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #55 pc 003d93bf /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+2847) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #56 pc 003c7509 /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+73) (BuildId: 895645e5113da057f27d9b2ec11eb3bf) #57 pc 000b25fe /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+62) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247) #58 pc 000b628a /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+794) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247) #59 pc 00003632 /system/bin/app_process32 (main+1490) (BuildId: b7a60bc7d078521421fd5a8d201915ae) #60 pc 000898e8 /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+120) (BuildId: 76290498408016ad14f4b98c3ab6c65c) Lost connection to device.
No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
E/flutter: [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.UnsatisfiedLinkError: No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
at com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport(Native Method)
at com.tencent.liteav.basic.datareport.TXCDRApi.(TXCDRApi.java:406)
at com.tencent.liteav.basic.datareport.TXCDRApi.initCrashReport(TXCDRApi.java:385)
at com.tencent.rtmp.TXVodPlayer.startPlay(TXVodPlayer.java:184)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.setPlaySource(FlutterTencentplayerPlugin.java:205)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.(FlutterTencentplayerPlugin.java:84)
at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin.onMethodCall(FlutterTencentplayerPlugin.java:486)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:363)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:8347)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
A/flutter: [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3465 (r_health_doctor), pid 3465 (r_health_doctor)
1、项目如果开启了混淆打包后会闪退,应该是需要混淆排除规则,请问这个怎么写?
2、取消下载后,提示是删除了下载任务,下载的文件并没删除,DEMO可以给个同时删除文件的例子吗?
感谢~~
进行 flutter build apk后 安装真机出现崩溃问题
#19 相同的错误
W/Native-LiteAV(20501): load library txffmpeg from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(20501): load library txffmpeg false
W/Native-LiteAV(20501): load library traeimp-rtmp from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(20501): load library traeimp-rtmp false
W/Native-LiteAV(20501): load library liteavsdk from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dlopen failed: library "libtxffmpeg.so" not found
W/Native-LiteAV(20501): load library liteavsdk false
W/Native-LiteAV(20501): load library txffmpeg from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(20501): load library txffmpeg false
W/Native-LiteAV(20501): load library traeimp-rtmp from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(20501): load library traeimp-rtmp false
W/Native-LiteAV(20501): load library liteavsdk from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dlopen failed: library "libtxffmpeg.so" not found
W/Native-LiteAV(20501): load library liteavsdk false
W/Native-LiteAV(20501): load library txffmpeg from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtxffmpeg.so"
W/Native-LiteAV(20501): load library txffmpeg false
W/Native-LiteAV(20501): load library traeimp-rtmp from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64, /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libtraeimp-rtmp.so"
W/Native-LiteAV(20501): load library traeimp-rtmp false
W/Native-LiteAV(20501): load library liteavsdk from system path
W/Native-LiteAV(20501): load library : java.lang.UnsatisfiedLinkError: dlopen failed: library "libtxffmpeg.so" not found
W/Native-LiteAV(20501): load library liteavsdk false
E/inyan.xinyansh(20501): No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
E/flutter (20501): [ERROR:flutter/shell/platform/android/platform_view_android_jni_impl.cc(43)] java.lang.UnsatisfiedLinkError: No implementation found for void com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport() (tried Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport and Java_com_tencent_liteav_basic_datareport_TXCDRApi_nativeInitDataReport__)
E/flutter (20501): at com.tencent.liteav.basic.datareport.TXCDRApi.nativeInitDataReport(Native Method)
E/flutter (20501): at com.tencent.liteav.basic.datareport.TXCDRApi.(TXCDRApi.java:393)
E/flutter (20501): at com.tencent.liteav.basic.datareport.TXCDRApi.initCrashReport(TXCDRApi.java:372)
E/flutter (20501): at com.tencent.rtmp.TXVodPlayer.startPlay(TXVodPlayer.java:183)
E/flutter (20501): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.setPlaySource(FlutterTencentplayerPlugin.java:193)
E/flutter (20501): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin$TencentPlayer.(FlutterTencentplayerPlugin.java:82)
E/flutter (20501): at com.jinxian.flutter_tencentplayer.FlutterTencentplayerPlugin.onMethodCall(FlutterTencentplayerPlugin.java:473)
E/flutter (20501): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:230)
E/flutter (20501): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (20501): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
E/flutter (20501): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (20501): at android.os.MessageQueue.next(MessageQueue.java:336)
E/flutter (20501): at android.os.Looper.loop(Looper.java:181)
E/flutter (20501): at android.app.ActivityThread.main(ActivityThread.java:7520)
E/flutter (20501): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (20501): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/flutter (20501): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
E/flutter (20501):
F/flutter (20501): [FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(942)] Check failed: CheckException(env).
F/libc (20501): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 20501 (inyan.xinyanshe), pid 20501 (inyan.xinyanshe)
Build fingerprint: 'Xiaomi/sirius/sirius:10/QKQ1.190828.002/V11.0.3.0.QEBCNXM:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2020-08-08 10:47:59+0800
pid: 20501, tid: 20501, name: inyan.xinyanshe >>> com.xinyan.xinyanshe <<<
uid: 11137
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(942)] Check failed: CheckException(env).
'
x0 0000000000000000 x1 0000000000005015 x2 0000000000000006 x3 0000007fd0c85fb0
x4 0000800000000000 x5 0000800000000000 x6 0000800000000000 x7 0000000000800000
x8 00000000000000f0 x9 30dfacb53641acb2 x10 0000000000000001 x11 0000000000000000
x12 fffffff0fffffbdf x13 0000000000000003 x14 0000000000000001 x15 0000847310547c54
x16 00000074ab027738 x17 00000074ab006180 x18 00000074af37a000 x19 0000000000005015
x20 0000000000005015 x21 00000000ffffffff x22 00000074294fcbe8 x23 000000739d6e5258
x24 000000000000003e x25 00000074ae15c020 x26 0000000000000000 x27 000000000000003e
x28 0000000000000001 x29 0000007fd0c86050
sp 0000007fd0c85f90 lr 00000074aafb786c pc 00000074aafb7898
backtrace:
#00 pc 0000000000073898 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) (BuildId: 745f6147935e4ea7837d3e6fc6def1e1)
#1 pc 00000000012594fc /data/app/com.xinyan.xinyanshe-BfA4p0tcqBZae8TGrSk5ag==/lib/arm64/libflutter.so (BuildId: 902f295b7ee0b951ab842ea9f565f4e514363b42)
#2 pc 000000000000271c [anon:.bss]
flutter sdk: 1.20.1
已经按大佬的配置,该配置的配置了,还有这样的问题,请大佬看看
感谢~
在iOS锁定状态下拍摄的竖屏视频,使用 file方法播放时会自动切换到横屏,导致画面方向错误。
video_player有专门的处理 https://github.com/flutter/plugins/pull/1451/files
iOS上内置相机应用录制的mov/mp4视频可能产生一个Rotation元数据,表示录制视频时摄像头旋转到了多少角度。其值一般为这四个:0、90、180或270。类似于图片文件的Exif信息中的Orientation元数据。
Rotation元数据用于播放器确定渲染视频的方向,但有的播放器会对其视而不见。
TencentPlayerController中的value.position在播放过程中,无法实时回调准确的值,在手动seek后,只回调单次值
Hello sir, your package is awesome but sir there is a problem with https link .if m3u8 link with https it is not support for downloads why please sir help me...thanks in advance
线上项目应用运行效果: http://file.jinxianyun.com/tencentplayer.MP4
看起来很棒,要是有个Demo就好了
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.