Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lify
RvApp
Commits
ce264934
Commit
ce264934
authored
Nov 07, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
短视频音乐
parent
3f6bb3e4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
102 additions
and
90 deletions
+102
-90
DiscoveryFragment.java
...y/src/main/java/com/xxfc/discovery/DiscoveryFragment.java
+63
-4
RecordxActivity.java
...rc/main/java/com/xxrv/video/activity/RecordxActivity.java
+5
-57
SelectMusicActivity.java
...ain/java/com/xxrv/video/activity/SelectMusicActivity.java
+31
-29
VideoApi.java
plugin_video/src/main/java/com/xxrv/video/api/VideoApi.java
+3
-0
No files found.
module_discovery/src/main/java/com/xxfc/discovery/DiscoveryFragment.java
View file @
ce264934
package
com
.
xxfc
.
discovery
;
import
android.Manifest
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.graphics.drawable.BitmapDrawable
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.v4.app.ActivityCompat
;
import
android.support.v4.view.ViewPager
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
...
...
@@ -21,6 +26,7 @@ import com.ruiwenliu.wrapper.adapter.TabAdapter;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseFragment
;
import
com.ruiwenliu.wrapper.util.ViewHolder
;
import
com.ruiwenliu.wrapper.util.permission.RxPermission
;
import
com.ruiwenliu.wrapper.weight.horizontal.GallerySnapHelper
;
import
com.ruiwenliu.wrapper.weight.horizontal.SpaceItemDecoration
;
import
com.xxfc.discovery.adapter.DiscoveryMenuAdapter
;
...
...
@@ -32,6 +38,7 @@ import com.xxfc.discovery.fragment.ShortVideoFragment;
import
com.xxfc.discovery.other.ShortVideoActivity
;
import
com.xxfc.discovery.popupwindow.AddDiscoveryContentPw
;
import
com.xxfc.discovery.presenter.DiscoveryPresenter
;
import
com.xxrv.video.activity.RecordxActivity
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.ArrayList
;
...
...
@@ -40,7 +47,9 @@ import java.util.List;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.Unbinder
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
pub.devrel.easypermissions.AppSettingsDialog
;
/**
* 发现模块
...
...
@@ -248,10 +257,9 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> {
dismiss
();
}
else
if
(
id
==
R
.
id
.
tv_short_video
)
{
//短视频
ARouter
.
getInstance
()
.
build
(
Constance
.
ACTIVITY_URL_RECORDXACTIVITY
)
.
navigation
();
verifyAudioPermissions
(
_mActivity
);
processPicker
();
dismiss
();
}
else
if
(
id
==
R
.
id
.
tv_ask_questions
)
{
//去提问
...
...
@@ -284,4 +292,55 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> {
}
});
}
//申请录音权限
private
static
final
int
GET_RECODE_AUDIO
=
1
;
private
static
String
[]
PERMISSION_AUDIO
=
{
Manifest
.
permission
.
RECORD_AUDIO
};
/*
* 申请录音权限*/
public
static
void
verifyAudioPermissions
(
Activity
activity
)
{
int
permission
=
ActivityCompat
.
checkSelfPermission
(
activity
,
Manifest
.
permission
.
RECORD_AUDIO
);
if
(
permission
!=
PackageManager
.
PERMISSION_GRANTED
)
{
ActivityCompat
.
requestPermissions
(
activity
,
PERMISSION_AUDIO
,
GET_RECODE_AUDIO
);
}
}
/**
* 打开相机和相册
*
* @param
*/
private
void
processPicker
()
{
/**
* 6.0以上手机做权限处理
*/
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
new
RxPermission
(
_mActivity
).
request
(
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
CAMERA
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
==
true
)
{
//短视频
ARouter
.
getInstance
()
.
build
(
Constance
.
ACTIVITY_URL_RECORDXACTIVITY
)
.
navigation
();
}
else
{
new
AppSettingsDialog
.
Builder
(
DiscoveryFragment
.
this
).
setTitle
(
"需要获取相机权限、存储权限"
)
.
setRationale
(
"如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限"
)
.
build
().
show
();
}
}
});
}
else
{
}
}
}
plugin_video/src/main/java/com/xxrv/video/activity/RecordxActivity.java
View file @
ce264934
...
...
@@ -111,7 +111,7 @@ public class RecordxActivity extends BaseStatusActivity<VideoPresenter> {
private
String
mCurrBgmPath
;
private
String
mCurrBgmName
;
private
String
mCurrPath
;
private
SelectMusicDialog
mSelectDialog
;
//
private SelectMusicDialog mSelectDialog;
private
FilterPreviewDialog
mDialog
;
...
...
@@ -164,8 +164,6 @@ public class RecordxActivity extends BaseStatusActivity<VideoPresenter> {
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
processPicker
();
verifyAudioPermissions
(
mActivity
);
showTitle
(
false
);
xbar
.
setTotalTime
(
25
);
...
...
@@ -183,12 +181,12 @@ public class RecordxActivity extends BaseStatusActivity<VideoPresenter> {
}
});
mSelectDialog
=
new
SelectMusicDialog
(
this
,
info
->
{
/*
mSelectDialog = new SelectMusicDialog(this, info -> {
mCurrBgmPath = info.path;
mCurrBgmName = info.getName();
tvBgName.setText(info.getName() + " " + info.getName() + " " + info.getName());
tvBgName.setTextColor(getResources().getColor(R.color.white));
});
});
*/
broadcast
();
...
...
@@ -197,10 +195,6 @@ public class RecordxActivity extends BaseStatusActivity<VideoPresenter> {
}
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
switch
(
requestType
)
{
...
...
@@ -247,58 +241,12 @@ public class RecordxActivity extends BaseStatusActivity<VideoPresenter> {
}
/**
* 打开相机和相册
*
* @param
*/
private
void
processPicker
()
{
/**
* 6.0以上手机做权限处理
*/
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
new
RxPermission
(
mActivity
).
request
(
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
CAMERA
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
==
true
)
{
}
else
{
new
AppSettingsDialog
.
Builder
(
RecordxActivity
.
this
).
setTitle
(
"需要获取相机权限、存储权限"
)
.
setRationale
(
"如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限"
)
.
build
().
show
();
}
}
});
}
else
{
}
}
//申请录音权限
private
static
final
int
GET_RECODE_AUDIO
=
1
;
private
static
String
[]
PERMISSION_AUDIO
=
{
Manifest
.
permission
.
RECORD_AUDIO
};
/*
* 申请录音权限*/
public
static
void
verifyAudioPermissions
(
Activity
activity
)
{
int
permission
=
ActivityCompat
.
checkSelfPermission
(
activity
,
Manifest
.
permission
.
RECORD_AUDIO
);
if
(
permission
!=
PackageManager
.
PERMISSION_GRANTED
)
{
ActivityCompat
.
requestPermissions
(
activity
,
PERMISSION_AUDIO
,
GET_RECODE_AUDIO
);
}
}
@OnClick
({
R2
.
id
.
ll_select_music
,
R2
.
id
.
ll_back
,
R2
.
id
.
ll_swith
,
R2
.
id
.
ll_filter
,
R2
.
id
.
iv_comp
,
R2
.
id
.
iv_local
,
R2
.
id
.
iv_del
,
R2
.
id
.
btn_rec
,
R2
.
id
.
progress_ing
})
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
ll_select_music
)
{
// 退出录制
mSelectDialog
.
show
();
startActivity
(
SelectMusicActivity
.
getIntent
(
mActivity
));
//
mSelectDialog.show();
}
else
if
(
id
==
R
.
id
.
ll_back
)
{
// 退出录制
...
...
plugin_video/src/main/java/com/xxrv/video/activity/SelectMusicActivity.java
View file @
ce264934
...
...
@@ -25,6 +25,7 @@ import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import
com.ruiwenliu.wrapper.util.glide.GlideApp
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.xxrv.video.R
;
import
com.xxrv.video.R2
;
import
com.xxrv.video.api.VideoApi
;
import
com.xxrv.video.audio_x.VoiceManager
;
import
com.xxrv.video.base.BaseRecAdapter
;
...
...
@@ -47,21 +48,31 @@ import java.util.Map;
import
java.util.Timer
;
import
java.util.TimerTask
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
/**
* 选择音乐
*/
public
class
SelectMusicActivity
extends
BaseStatusActivity
<
VideoPresenter
>
implements
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
search_edit
)
EditText
mEditText
;
@BindView
(
R2
.
id
.
tv_null_tip
)
TextView
hint
;
@BindView
(
R2
.
id
.
rv_comm
)
RecyclerView
mListView
;
LinearLayoutManager
mLayoutManager
;
private
Context
mContext
;
private
SelectMusicDialog
.
OnMusicItemClick
mListener
;
private
List
<
MusicInfo
>
mdatas
;
private
List
<
MusicInfo
>
searchDatas
;
private
RecyclerView
mListView
;
private
CommAvatarAdapter
mAdapter
;
private
TextView
hint
;
private
int
mPagerIndex
;
private
boolean
isLoad
;
private
int
mCurrPlay
=
-
1
;
// 当前选择的索引
private
MusicInfo
mCurrMusic
;
private
EditText
mEditText
;
private
boolean
more
=
true
;
// 是否可加载更多
private
Timer
SEARCH_TIMER
;
private
SearchTimerTask
mSearchTask
;
...
...
@@ -91,6 +102,9 @@ public class SelectMusicActivity extends BaseStatusActivity<VideoPresenter> impl
}
};
public
static
Intent
getIntent
(
Context
context
)
{
return
new
Intent
(
context
,
SelectMusicActivity
.
class
);
}
@Override
protected
int
setLayout
()
{
...
...
@@ -99,18 +113,8 @@ public class SelectMusicActivity extends BaseStatusActivity<VideoPresenter> impl
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
initView
();
initListview
();
}
@Override
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
super
.
loadData
(
savedInstanceState
,
intent
);
upData
();
}
private
void
initListview
()
{
mListView
=
findViewById
(
R
.
id
.
rv_comm
);
titleView
.
setTitle
(
"选择音乐"
);
mEditText
.
addTextChangedListener
(
changeListener
);
mLayoutManager
=
new
LinearLayoutManager
(
mContext
);
mListView
.
setLayoutManager
(
mLayoutManager
);
...
...
@@ -120,19 +124,10 @@ public class SelectMusicActivity extends BaseStatusActivity<VideoPresenter> impl
addListener
();
}
private
void
initView
()
{
hint
=
findViewById
(
R
.
id
.
tv_null_tip
);
mEditText
=
findViewById
(
R
.
id
.
search_edit
);
findViewById
(
R
.
id
.
iv_close
).
setOnClickListener
(
this
);
mEditText
.
addTextChangedListener
(
changeListener
);
Window
o
=
getWindow
();
WindowManager
.
LayoutParams
lp
=
o
.
getAttributes
();
lp
.
width
=
ScreenUtil
.
getScreenWidth
(
mContext
);
lp
.
height
=
ScreenUtil
.
getScreenHeight
(
mContext
);
o
.
setAttributes
(
lp
);
this
.
getWindow
().
setGravity
(
Gravity
.
BOTTOM
);
this
.
getWindow
().
setWindowAnimations
(
R
.
style
.
BottomDialog_Animation
);
@Override
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
super
.
loadData
(
savedInstanceState
,
intent
);
upData
();
}
@Override
...
...
@@ -341,7 +336,14 @@ public class SelectMusicActivity extends BaseStatusActivity<VideoPresenter> impl
map
.
put
(
"keyword"
,
keyword
);
}
map
.
put
(
"type"
,
4
);
mPresenter
.
postData
(
2
,
VideoApi
.
DISCOVERY_UNAUTH_LIST
,
BaseBean
.
class
,
map
,
index
==
1
?
false
:
false
);
mPresenter
.
postData
(
2
,
VideoApi
.
DISCOVERY_IM_MUSIC
,
BaseBean
.
class
,
map
,
index
==
1
?
false
:
false
);
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
public
interface
OnMusicItemClick
{
...
...
plugin_video/src/main/java/com/xxrv/video/api/VideoApi.java
View file @
ce264934
...
...
@@ -10,4 +10,7 @@ public interface VideoApi extends RvFrameConfig {
//im登录
String
DISCOVERY_IM_LOGIN
=
HOST
+
"/api/auth/jwt/imi/login"
;
//音乐列表
String
DISCOVERY_IM_MUSIC
=
IMA_BASEUSRL
+
"/music/list"
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment