|
|
@@ -48,7 +48,7 @@ import { repairAudioMetadata, convertDsfToWav, getApiLyric,changeMusicCover} fro
|
|
|
import { FFMpegTags,Utility } from '../common/util/Utility';
|
|
|
import { TagsContentCover } from '../view/TagsContentCover';
|
|
|
import {
|
|
|
- // DeviceChangeReason,
|
|
|
+ DeviceChangeReason,
|
|
|
IjkMediaPlayer,
|
|
|
InterruptEvent,
|
|
|
InterruptHintType,
|
|
|
@@ -1057,13 +1057,23 @@ export struct LocalMusic {
|
|
|
}
|
|
|
this.mIjkMediaPlayer.on('audioInterrupt', event);
|
|
|
// 音频设备断连回调处理
|
|
|
- // let deviceChangeEvent: Callback<InterruptEvent> = (event) => {
|
|
|
- // LogUtils.getInstance().LOGI(`Heanup deviceChange event: ${JSON.stringify(event)}`);
|
|
|
- // if (event.reason === DeviceChangeReason.REASON_OLD_DEVICE_UNAVAILABLE) { // 音频设备断开连接
|
|
|
- // this.pause();
|
|
|
- // }
|
|
|
- // }
|
|
|
- // this.mIjkMediaPlayer.on('deviceChange', deviceChangeEvent);
|
|
|
+ let deviceChangeEvent: Callback<InterruptEvent> = (event) => {
|
|
|
+ LogUtils.getInstance().LOGI(`Heanup deviceChange event: ${JSON.stringify(event)}`);
|
|
|
+ if (event.reason === DeviceChangeReason.REASON_NEW_DEVICE_AVAILABLE) { // 音频设备连接
|
|
|
+
|
|
|
+ } else if (event.reason === DeviceChangeReason.REASON_OLD_DEVICE_UNAVAILABLE) { // 音频设备断开连接
|
|
|
+ this.pause();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 订阅音频设备断开和连接事件
|
|
|
+ this.mIjkMediaPlayer.on('deviceChange', deviceChangeEvent);
|
|
|
+
|
|
|
+ const eventPause: emitter.InnerEvent = { eventId: EventConstants.EVENT_PLAY_PAUSE }
|
|
|
+ // 监听广播事件(hicar断开暂停播放)
|
|
|
+ emitter.on(eventPause, (eventData: emitter.EventData) => {
|
|
|
+ this.pause();
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
|
|
|
this.makeWorker()
|
|
|
@@ -12569,9 +12579,9 @@ export struct LocalMusic {
|
|
|
//startOffset 从cue分轨时间开始播
|
|
|
private startPlayOrResumePlay(startOffset?:number) {
|
|
|
|
|
|
- //针对dsf文件高采样率sampleRate>441000,统一转wav播放
|
|
|
+ //针对dsf文件高采样率,统一转wav播放
|
|
|
const sampleRate = this.currentSong?.sampleRate||0
|
|
|
- if(this.videoUrl.toLowerCase().endsWith('.dsf')&&sampleRate>=441000){
|
|
|
+ if(this.videoUrl.toLowerCase().endsWith('.dsf')){
|
|
|
console.info('onecold 采样率 ='+sampleRate)
|
|
|
let newDsfPath = this.context.filesDir + '/'+FileUtil.getFileName(this.videoUrl)+'.wav'
|
|
|
console.info('onecold newDsfPath ='+newDsfPath)
|