Просмотр исходного кода

修复断开蓝牙后音乐继续播放的问题

chendeben 1 год назад
Родитель
Сommit
c7db78dd0d
1 измененных файлов с 13 добавлено и 17 удалено
  1. 13 17
      entry/src/main/ets/view/LocalMusic.ets

+ 13 - 17
entry/src/main/ets/view/LocalMusic.ets

@@ -1,11 +1,5 @@
 import TitleBar from './TitleBar'
-import { Animator,
-  BuilderNode,
-  curves, display,
-  EditableLeftIconType,
-  NodeController,
-  PiPWindow,
-  PromptAction, promptAction, router, SymbolGlyphModifier, window } from '@kit.ArkUI';
+import { curves, display, PiPWindow, promptAction, router, SymbolGlyphModifier, window } from '@kit.ArkUI';
 import { VideoItem } from '../viewmodel/VideoItem';
 import {
   AppUtil,
@@ -18,7 +12,6 @@ import {
   ImageUtil,
   LogUtil,
   MD5,
-  PickerUtil,
   PreferencesUtil,
   RandomUtil,
   StrUtil,
@@ -29,17 +22,14 @@ import Logger from '../common/util/Logger';
 import { photoAccessHelper } from '@kit.MediaLibraryKit';
 import { Utility } from '../common/util/Utility';
 import { BusinessError, emitter } from '@kit.BasicServicesKit';
-import { dataSharePredicates, uniformTypeDescriptor } from '@kit.ArkData';
+import { uniformTypeDescriptor } from '@kit.ArkData';
 import { BubbleBean } from '../viewmodel/BubbleBean';
 import { PopupPosition, XPopup } from '@chinalike/popup';
 import { common, ConfigurationConstant } from '@kit.AbilityKit';
 import { AnimationHelper, DialogAction, DialogHelper } from '@pura/harmony-dialog';
 import { fileIo, fileUri, picker } from '@kit.CoreFileKit';
-import { CSJUtil } from '../common/util/CSJUtil';
-import { PrintBiddingTokenUtils } from '../common/util/PrintBiddintTokenUtils';
-import { ArrayList, MessageEvents, util, worker } from '@kit.ArkTS';
+import { MessageEvents, util, worker } from '@kit.ArkTS';
 import { Verify } from './Verify';
-import { DrawerOptions } from '../dialog/DrawerOptions';
 import { RotatingCover } from './RotatingCover';
 import { PlayConstants } from '../common/constants/PlayConstants';
 import { effectKit } from '@kit.ArkGraphics2D';
@@ -47,6 +37,7 @@ import { ColorConversion } from '../common/util/ColorConversion';
 import { LyricController, LyricParser, LyricView2 } from '@seagazer/cclyric';
 import { AvSessionController } from '../controller/AvSessionController';
 import {
+  DeviceChangeReason,
   IjkMediaPlayer,
   InterruptEvent,
   InterruptHintType,
@@ -76,14 +67,11 @@ import ImageUtils from '../common/util/ImageUtils';
 import { ringtone } from '@kit.RingtoneKit';
 import { BreakpointType, BreakpointTypeEnum } from '../common/util/BreakpointSystem';
 import { resourceManager } from '@kit.LocalizationKit';
-import File from '@system.file';
 import { deviceInfo } from '@kit.BasicServicesKit';
 
 import { HSBColorPicker, HSBColorPickerLayout } from '@keke/color-picker'
-import { DEBUG } from 'BuildProfile';
 import { LrcParser } from '@sgaolei/lrc_parser';
-import app, { AppResponse } from '@system.app';
-import { Log } from '@tencent/wechat_open_sdk';
+import app from '@system.app';
 import { TextNodeController } from './PipLyricTextBuilder';
 import { IndexerView } from './IndexerView';
 
@@ -471,6 +459,14 @@ 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);