求教一下,如图中的这两个圆环选择时间的view和上下滑动选择快慢的view,如何通过自定义view去实现,并且圆环能够和手势有联动呢?


最近项目有个需求
就是在通过摄像头预览画面的同时,在预览画面的上方,添加一个透明背景的特效视频,就是为预览视频添加额外的动画特效
画面层次大概就是这样的
目前页面布局如下
<FrameLayout android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/guideline" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <com.vi.hcnetsdk.simpleapp.custom.ScalableSurfaceView android:layout_width="match_parent" android:layout_height="match_parent" /> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone"> <TextureView android:layout_width="match_parent" android:layout_height="200dp" /> </FrameLayout> </FrameLayout>
ijkPlayer
ijkMediaPlayer = new IjkMediaPlayer(); ijkMediaPlayer.setSurface(new Surface(surfaceTexture)); ijkMediaPlayer.setDataSource(destinationPath); ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32); ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1); ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", 0); ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "an", 1); // 准备并播放视频 ijkMediaPlayer.prepareAsync(); ijkMediaPlayer.start();
ScalableSurfaceView用于预览视频的承载,TextureView用来播放带有透明背景的动画特效的mov、avi格式的视频
目前尝试下来,ScalableSurfaceView这部分预览视频没有问题,使用ijkPlayer与textureView来播放mov、avi格式视频也可以,但是
播放的视频的透明背景丢失,会遮挡底下的预览视频
大概是这样的
请教一下了解音视频方面的大佬们,这种情况如何解决?或者有没有另外一些可行的方案去实现,
希望了解的朋友给点建议支支招
虽然有个蠢办法就是把so包复制给应用层使用 但这就违背了简易和封装的原则了
我贴贴代码

按照网上所给的方法已试过没用 请大佬解解惑
在使用SQLite查询数据时,报错。
报错信息如下:
我使用的没那么复杂,大概的流程是这样的 -> 1.在Activity中调用Helper实现类来创建数据库;2.在Activity中 向数据库中存入数据;
3.在点击控件时,调用对应方法来查询数据,最终实在manager中进行查询操作。
主要代码如下:
DatabaseHelper :
public class DatabaseHelper extends SQLiteOpenHelper { private static final int VERSION = 1; private static final String DBNAME = "MusicData.db"; /** * 创建一个音乐表,包含id position 以及filepath * 本意是在遍历音乐列表数据的时候 将position 和filepath一 一对应起来 */ public static final String CREATE_MUSIC = "create table Music(" + "id integer primary key autoincrement," + "position integer," + "filepath text)"; public DatabaseHelper(@Nullable @org.jetbrains.annotations.Nullable Context context, @Nullable @org.jetbrains.annotations.Nullable String name, @Nullable @org.jetbrains.annotations.Nullable SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } /** * 参数为上下文的构造方法 便于传递上下文 * @param context */ public DatabaseHelper(Context context) { super(context, DBNAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_MUSIC);//创建数据库 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
MainActivity中正常存入没有问题 就不多粘贴了,粘贴一下创建数据库的代码
mDatabaseHelper = new DatabaseHelper(getApplicationContext());
在Manager中使用的地方
public class MusicPlayManager implements IMusicPlayManager { private static final String TAG = MusicPlayManager.class.getSimpleName(); private MusicInfo musicInfo; private MusicPlayListener MIMusicPlayListener; private Context mContext; MediaPlayer mediaPlayer = new MediaPlayer(); private int nowPosition;//点击下一首 上一首前的音乐的位置 private DatabaseHelper mDatabaseHelper; /** 省略其他代码,只贴出了Manager前面声明的对象 以及 真正调用数据库进行查询的方法 **/ private String queryMusicFile() { SQLiteDatabase db = mDatabaseHelper.getReadableDatabase(); //这里报错了,无论是getRead还是getWrite都是报错 空指针 String path = null; String[] selection = {String.valueOf(nowPosition - 1)}; Cursor cursor = db.query("Music", null, null, selection, null, null, null); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { path = cursor.getString(cursor.getColumnIndex("filepath")); } return path; } }
在Manager中进行查询时 发生的报错,看了一些论坛的帖子 大部分都是说 Context的问题,但是我还是不太理解,因为好多帖子都是Fragment中的使用,感觉和我不太一样。
看看哪位大佬能指点一二,感激不尽。

武汉外卖上门学生【鹅电维】√I73-433O-3I64▊欢迎来汛TeL▊√,更多关于武汉外卖上门学生资讯如下:现改善拐点,利于情绪修复,超跌成长风格短期交易性反弹;美国经济内生增长仍强劲,预计美联储维持紧缩,关注本周缩表对风险资产定价影响。
五一节前一周市场调整后大幅反弹,创业板指强于沪深300,建筑装饰、电力设备领涨,金融、农业领跌。
2022年一季度国内GDP增长4.8%,低于5.5%左右的全年增长目标;从工业企业利润来看,盈利增速逐月下行至0%附近,且利润向上游采矿业集中;从上市公司一季报来看,收入与盈利增速环比仍有改善,增速较高的行业集中在新旧能源、防疫相关以及半导体,结构分化明显,基本符合(央视网评论员)
(参与记者:胡绩伟、穆青、李普、田流、李峰、阎吾、柏生、彭迪、黄钢、金凤)
来源:央视网、人民网、搜狐财经、新华网、凤凰资讯、网易新闻、知乎日报、热点资讯、搜狐新闻、新浪新闻
总策划:莫言
策划:马云、李彦宏
监制:雷军、许家印
统筹:任正非、柳传志、方洪波
文字:李嘉诚、董明珠、宗庆后
编辑:王兴、杨元庆
视频:沈南鹏
视觉/海报:字节跳动、张一鸣
新华社国内部
新华社广东分社
联合出品
免责声明:本文来自腾讯新闻客户端自媒体,该文观点仅代表作者本人,搜狐号、网易号、企鹅号、百家号系信息发布平台,本平台仅提供信息存储服务。
贴链接:https://juejin.cn/post/6993145796858232869#heading-1
因为是c/c++的,又去学习了下jni,调用c/c++,尝试下来


我贴一贴请求的东西哈 可能格式不太美观
请求类
public
- 1
- 2
Copyright © 阳光沙滩V1.0.3(2014-) 本网站由程序猿(媛)用爱驱动