Это музыкальный проигрыватель для Android.
Bugly: используется для сбора информации о сбоях, ANR-исключениях и обновлениях программного обеспечения.
//где latest.release указывает на последнюю версию, также можно указать конкретную версию, например 1.2.0
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'
//где latest.release указывает на последнюю версию, также можно указать конкретную версию
compile 'com.tencent.bugly:nativecrashreport:latest.release'
fastjson: используется для анализа JSON.
// https://mvnrepository.com/artifact/com.alibaba/fastjson анализ json
compile 'com.alibaba:fastjson:1.2.39'
Glide: библиотека для загрузки изображений.
//Glide
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.github.bumptech.glide:okhttp3-integration:1.5.0@aar'
OkHttp: сетевая библиотека.
compile 'com.squareup.okhttp3:okhttp:3.8.1'
PlayPauseView: кнопки для воспроизведения и паузы анимации.
//воспроизведение, пауза
compile 'com.github.Lauzy:PlayPauseView:1.0.4'
android-image-cropper: используется для обрезки изображений.
//обрезка
compile 'com.theartofdev.edmodo:android-image-cropper:2.6.0'
Платформа статистики Jiguang.
compile 'cn.jiguang.sdk:janalytics:1.1.1'
compile 'cn.jiguang.sdk:jcore:1.1.8'
ButterKnife: фреймворк для внедрения зависимостей.
compile 'com.jakewharton:butterknife:8.5.1'
circleImageView: круговое изображение ImageView.
compile 'de.hdodenhof:circleimageview:2.2.0'
Код в Activity:
/**
* Activity и Service передают данные
*/
public interface IServiceDataTrans{
void initServiceData(ArrayList<Long> musicId); //инициализация данных сервиса, путь к музыке
void playMusicFromClick(int position); //пользователь нажимает для воспроизведения, передача позиции
void playOrPause(); //воспроизведение или пауза
void replaceBackStageMusicList(ArrayList<Long> musicInfoList, int position);//изменение списка музыки, воспроизводимой в фоновом режиме, передача musicId, текущей позиции воспроизведения
int getMusicPlayTimeStamp(); //получение времени воспроизведения, возврат миллисекунд
long getPlayingMusicId(); //получить текущий воспроизводимый музыкальный id, запросить данные, удобно отобразить
int getPlayPosition(); //получить позицию воспроизведения position
boolean isPlayingMusic(); //получить статус воспроизведения музыки, воспроизведение или пауза
void changePlayingTime(int time); //рассчитать время начала воспроизведения, а также изменить время воспроизведения в фоновом режиме
void cancelNotification(); //закрыть уведомление
}
/**
* При запуске Activity запускается служба, которая может автоматически закрываться из-за освобождения памяти
*/
public void startPlayMusicService(){
Intent intent = new Intent(BaseActivity.this, PlayMusicService.class);
bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE);
}
/**
* Фоновое воспроизведение музыки Service, используйте bindService для запуска, удобно передавать данные, startService неудобно передавать данные
* Когда Service
*/
public ServiceConnection mServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//используйте класс MyBinder, чтобы получить объект PlayMusicService
PlayMusicService.MyBinder
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )