sucese / phoenix Goto Github PK
View Code? Open in Web Editor NEWThe one-stop solution for taking pictures / videos, picture / video selection, editing and compression on the Android platform.
License: Apache License 2.0
The one-stop solution for taking pictures / videos, picture / video selection, editing and compression on the Android platform.
License: Apache License 2.0
单选功能,在图片选择界面,点击顶部切换相册后,点击图片预览。数据错乱
java.lang.IllegalStateException: BitmapFactory.decodeFile(filePath, options) must not be null
at com.guoxiaoxing.phoenix.picker.util.PictureUtils.getImageBitmap(PictureUtils.kt:46)
at com.guoxiaoxing.phoenix.picker.ui.editor.PictureEditFragment.setupData(PictureEditFragment.kt:191)
at com.guoxiaoxing.phoenix.picker.ui.editor.PictureEditFragment.onViewCreated(PictureEditFragment.kt:119)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1430)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6577)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
拍照预览界面模糊,且点屏幕无法对焦,需要切一次前置摄像头再回到后置摄像头,方才清楚
机型:华为畅享7 Android7.0
运行起来很顺畅
想问下选择界面加载图片列表的策略 是用的什么方式 框架 ?
选择图片后点击已完成会把已经完成底下的图片选上,触摸事情被传递了还是已完成按钮区域太小?
测试机型:小米NOTE
API:27
11-26 16:20:53.273 4992-4992/com.guoxiaoxing.phoenix.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.guoxiaoxing.phoenix.demo, PID: 4992
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.guoxiaoxing.phoenix.demo/com.guoxiaoxing.phoenix.picker.ui.camera.CameraActivity}: java.lang.IllegalStateException: intent.getParcelableExtr…xConstant.PHOENIX_OPTION) must not be null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2793)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: java.lang.IllegalStateException: intent.getParcelableExtr…xConstant.PHOENIX_OPTION) must not be null
at com.guoxiaoxing.phoenix.picker.ui.BaseActivity.onCreate(BaseActivity.kt:63)
at com.guoxiaoxing.phoenix.picker.ui.camera.CameraActivity.onCreate(CameraActivity.kt:20)
at android.app.Activity.performCreate(Activity.java:6910)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
因为项目需要只需要图片编辑里面的涂鸦功能,想剪裁部分功能
在ToolbarUtil38行报错,报错内容如下
java.lang.RuntimeException:Unable to start activity ComponentInfo{com.wanjian.landlord/com.guoxiaoxing.phoenix.picker.ui.picker.PickerActivity}: kotlin.TypeCastException: null cannot be cast to non-null type android.view.ViewGroup
相册列表底部被遮挡,显示不全.
能否提供混淆处理方式
我处理之后还会出现4.0版本兼容问题
如题,重启后,这个项目的视频库能查询刚才录制的视频,不知道你们有没有碰得到这个问题
机型:华为p8 魅族mx 5 pro 等
一般5到6分钟的视频压缩需要多久。。。。
java.lang.RuntimeException: Unable to destroy activity {com.guoxiaoxing.phoenix.demo/com.guoxiaoxing.phoenix.picker.ui.picker.PickerActivity}: kotlin.UninitializedPropertyAccessException: lateinit property animation has not been initialized
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4271)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4289)
at android.app.ActivityThread.-wrap6(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1595)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6321)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property animation has not been initialized
at com.guoxiaoxing.phoenix.picker.ui.picker.PickerActivity.onDestroy(PickerActivity.kt:407)
at android.app.Activity.performDestroy(Activity.java:7058)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1154)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4258)
... 9 more
Caused by: kotlin.TypeCastException: null cannot be cast to non-null type android.view.ViewGroup
at com.guoxiaoxing.phoenix.picker.util.ToolbarUtil.setRootView(ToolbarUtil.kt:38)
at com.guoxiaoxing.phoenix.picker.util.ToolbarUtil.setColor(ToolbarUtil.kt:30)
at com.guoxiaoxing.phoenix.picker.util.ToolbarUtil.setColorNoTranslucent(ToolbarUtil.kt:85)
at com.guoxiaoxing.phoenix.picker.ui.picker.PickerActivity.onCreate(PickerActivity.kt:92)
at android.app.Activity.performCreate(Activity.java:5312)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2552)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2653)
at android.app.ActivityThread.access$800(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5872)
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:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
at dalvik.system.NativeStart.main(Native Method)
设置了限制视频的时间,但是大于这个时间的视频还是会显示出来,能看下是什么问题吗,不怎么懂Kotlin,看到MediaLoader里就看不懂了,知道时间传进去了,但是不知道在哪儿用到了
你好,因为含kotlin下载后没能编译成功,看了一下代码好像没有实现视频录制完成就压缩?是这样吗?
还有查询本地图片上视频的代码在哪呢,没找着
我测了两台小米手机,分别是7.1,8.0的系统,拍摄的视频都没有长度信息,初步认定是关闭摄像头的代码写在子线程导致,请问这个如何解决。
请修复下哦
视频压缩只需要phoenix-compress-video这个库就可以是吗
在fragment中使用,结果不走fragment的onActivityResult()
坚果pro2前置黑屏,假如录音权限申请失败,一直弹出无法播放。
调用 VideoCompressor.with().asyncTranscodeVideo(mediaEntity.getLocalPath(), compressFile.getAbsolutePath(),
MediaFormatStrategyPresets.createAndroid480pFormatStrategy(), listener);
报错
乐视手机拍摄的视频包压缩比例不对怎么解决啊!
Fatal error while transcoding, this might be invalid format or bug in engine or Android.
com.guoxiaoxing.phoenix.compress.video.format.OutputFormatUnavailableException: This video is not 16:9, and is not able to transcode. (640x368)
如题,部分录像不兼容问题,是尺寸不合适,可以说明一下他逻辑吗
android.database.sqlite.SQLiteException: no such column: duration (code 1): , while compiling: SELECT _id, _data, _display_name, date_added, mime_type, _size, duration, width, height, latitude, longitude FROM images_no_locked as images WHERE ((is_drm=0 OR is_drm IS NULL)) AND ((mime_type=? or mime_type=? or mime_type=?) AND width>0) ORDER BY _id DESC
默认展示的相机胶卷全部图片,当更换到其他相册目录后,所点击的图片还是相机胶卷中的数据,非当前目录中的数据
手机:Huawei Mate 9 ,Android 8.0
华为P10运行项目中的录像功能,预览时画面暗,长安开始录制时,亮度才变亮,请问有遇到的吗
//图片/视频选择、预览、编辑与拍照
compile ('com.github.guoxiaoxing:phoenix:1.0.11'){
exclude group: 'com.android.support', module: 'support-v4'
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'recyclerview-v7'
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'com.android.support', module: 'design'
}
//选填 - 视频压缩,开启功能:Phoenix.with().enableCompress(true),获取结果:MediaEntity.getCompressPath()
compile ('com.github.guoxiaoxing:phoenix-compress-video:1.0.11'){
exclude group: 'com.android.support', module: 'appcompat-v7'
}
您好,感谢您的分享,以上是我gradle。
项目出现的问题:
1.在选择视频预览时,背景是透明即没有按播放前,可以直接透过视频看到待选图片/视频...不知道是不是由于我gradle设置的问题...还是代码?感觉是主题样式导致的?
2.在 Phoenix.with() .fileType(MimeType.ofAll())//显示的文件类型图片、视频、图片和视频
如果选择ofAudio时(ofVideo正常使用),待选视频没有显示正确的缩略图,而是统一系统默认的,而且点击选择出来的图片或者视频,也不是所需的;
mMediaAdapter.setOnItemClickListener(new MediaAdapter.OnItemClickListener() { @Override public void onItemClick(int position, View v) { if (mMediaAdapter.getData().size() > 0) { //预览 Phoenix.with() .pickedMediaList(mMediaAdapter.getData()) .start(MainActivity.this, PhoenixOption.TYPE_BROWSER_PICTURE, 0); } } });
可以增加一个只显示多少M以下的图片或视频的方法吗
引入了包,结果编译不通过了
is also present at [com.github.guoxiaoxing.phoenix:phoenix-ui:0.0.13] AndroidManifest.xml:35:17-51 value=(@xml/file_paths).
Suggestion: add 'tools:replace="android:resource"' to element at AndroidManifest.xml to override.
应该是资源相冲突了,还望后续版本中,能调整。。感谢!
demo中提供的方法如果不是16:9的视频则会报错
大概就是类似微信朋友圈那种,能选择拍照或者选择相册。选择拍照的模式,拍完照并不能跳到预览照片修改照片的预览模式,而是拍完照只能返回,无法浏览图片
你好,我把一张大图压缩尺寸,锯齿非常严重,请问有好的解决方案吗?(10001000压到100100)
希望能提供个安装包,别人能方便的体验里面的功能,免去别人运行编译的过程。谢谢!
华为nxt-al10 android 7.0 mMediaRecorder.prepare(); 失败, error :java.io.IOException: prepare failed.
[com.github.guoxiaoxing:phoenix:1.0.11] D:\android\project\sdlc\2.0\app\New\as\SHJ_PMP\build\intermediates\exploded-aar\com.github.guoxiaoxing\phoenix\1.0.11\AndroidManifest.xml:20:5-79 Warning:
Element uses-permission#android.permission.ACCESS_NETWORK_STATE at [com.github.guoxiaoxing:phoenix:1.0.11] AndroidManifest.xml:20:5-79 duplicated with element declared at [com.github.guoxiaoxing:phoenix:1.0.11] AndroidManifest.xml:18:5-79
请问压缩效率怎样?能否实现超过1M的图片,才进行压缩?而不是直接把图片压缩图片宽高。
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.