Browse Source

1.音频播放优化

huangxiaodong 10 months ago
parent
commit
a47bd8d1e8

+ 32 - 9
创维盒子/双子星云手机/Class/Set/previewFile/audioPlayerViewController.m

@@ -793,32 +793,54 @@
 
 //缓冲进度代理
 - (void)df_player:(DFPlayer *)player bufferProgress:(CGFloat)bufferProgress{
-    HLog(@"缓冲进度代理:%f",bufferProgress);
+    NSInteger index = player.currentAudioModel.audioId;
+    if(index >0 && index<_dataArray.count){
+        lastFileModel *lastFileMod = _allAudioDataArray[index];
+        HLog(@"缓冲进度代理:%f --- %@",bufferProgress,lastFileMod.name);
+    }
+    else{
+        HLog(@"缓冲进度代理:%f",bufferProgress);
+    }
+    
+    
 }
 
 //播放进度代理
 - (void)df_player:(DFPlayer *)player progress:(CGFloat)progress currentTime:(CGFloat)currentTime{
-    HLog(@"音频播放进度:%f --- %f",progress,currentTime);
+   
+    NSInteger index = player.currentAudioModel.audioId;
+    if(index >0 && index<_dataArray.count){
+        lastFileModel *lastFileMod = _allAudioDataArray[index];
+        //HLog(@"音频播放进度:%f --- %f --- %@ ---inddex:%ld ---- %ld",progress,currentTime,lastFileMod.name,_lastAudioIndex,index);
+    }
+    else{
+        //HLog(@"音频播放进度:%f --- %f",progress,currentTime);
+    }
+    
     
     playDelayed ++;
     if(!_playPauseBtn.selected && playDelayed >= 3){
         _playPauseBtn.selected = YES;
     }
     
-    HLog(@"df_player progress hxd  _ind:%ld ---- %ld",_lastAudioIndex,player.currentAudioModel.audioId);
-    //if(_lastAudioIndex != player.currentAudioModel.audioId)
-    if(progress == 0)
+    //HLog(@"df_player progress hxd  _ind:%ld ---- %ld",_lastAudioIndex,player.currentAudioModel.audioId);
+    if(_lastAudioIndex != player.currentAudioModel.audioId)
     {
-        _lastAudioIndex = player.currentAudioModel.audioId;
-        _index = _lastAudioIndex;
-        HLog(@"df_player progress hxd  _ind:setTitleFunByIndex");
-        [self setTitleFunByIndex];
+//        _lastAudioIndex = player.currentAudioModel.audioId;
+//        _index = _lastAudioIndex;
+//        HLog(@"df_player progress hxd  _ind:setTitleFunByIndex");
+//        [self setTitleFunByIndex];
         [self audioPlayerByIndex:_lastAudioIndex];
         
         [self startRotatingImage];
         [self startPlayingRotateRightImage];
     }
     
+    _lastAudioIndex = player.currentAudioModel.audioId;
+    _index = _lastAudioIndex;
+    HLog(@"df_player progress hxd  _ind:setTitleFunByIndex");
+    [self setTitleFunByIndex];
+    
     if(progress >= 1.0){
         _lastAudioIndex = -1;
         [self stopRotatingImage];
@@ -860,6 +882,7 @@
 
 -(void)setTitleFunByIndex
 {
+    HLog(@"setTitleFunByIndex")
     if(!_allAudioDataArray){
         KWeakSelf
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

+ 1 - 0
创维盒子/双子星云手机/Class/Set/previewFile/view/audioPlayListView.m

@@ -274,6 +274,7 @@
 - (void)reGetDataFun
 {
     [self setTitleStrFun];
+    HLog(@"%@",_curDataArr);
 }
 
 #pragma mark 点击删除音频

+ 1 - 0
创维盒子/双子星云手机/Vendor/DFPlayer/DFPlayer.h

@@ -12,6 +12,7 @@
 #import <Foundation/Foundation.h>
 #import <AVFoundation/AVFoundation.h>
 #import "DFPlayerModel.h"
+#import "DFPlayerUIManager.h"
 
 //播放器状态
 typedef NS_ENUM(NSInteger, DFPlayerState) {

+ 9 - 1
创维盒子/双子星云手机/Vendor/DFPlayer/DFPlayer.m

@@ -330,7 +330,13 @@ NSString * const DFPlaybackLikelyToKeepUpKey    = @"playbackLikelyToKeepUp";
     }
 
     //hxd add 20240716 去下载 自己管理缓存
-    [[audioPlayListManager shareManager] beginToDownloadByUrl:self.currentAudioModel.audioUrl.absoluteString];
+    if(!self.currentAudioModel.didCacheWorkType){
+        [[audioPlayListManager shareManager] beginToDownloadByUrl:self.currentAudioModel.audioUrl.absoluteString];
+        
+        self.currentAudioModel.didCacheWorkType = YES;
+    }
+    
+    //[[audioPlayListManager shareManager] beginToDownloadByUrl:self.currentAudioModel.audioUrl.absoluteString];
     
     if (self.dataSource && [self.dataSource respondsToSelector:@selector(df_audioInfoForPlayer:)]) {
         self.currentAudioInfoModel = [self.dataSource df_audioInfoForPlayer:self];
@@ -691,6 +697,8 @@ NSString * const DFPlaybackLikelyToKeepUpKey    = @"playbackLikelyToKeepUp";
     if (self.player) {
         self.player = nil;
     }
+    
+    [[DFPlayerUIManager sharedManager] dfUI_deallocPlayer];
 }
 
 - (void)reset{

+ 2 - 0
创维盒子/双子星云手机/Vendor/DFPlayer/DFPlayerModel.h

@@ -20,6 +20,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, strong) NSURL *audioUrl; // 音频地址
 
+//hxd add 20240726
+@property (nonatomic, assign) BOOL didCacheWorkType;//是否做了缓存
 @end
 
 /**

+ 2 - 0
创维盒子/双子星云手机/Vendor/DFPlayer/DFPlayerUIManager.h

@@ -196,6 +196,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 
 
+/**释放播放器UI*/
+- (void)dfUI_deallocPlayer;
 @end
 
 NS_ASSUME_NONNULL_END

+ 50 - 0
创维盒子/双子星云手机/Vendor/DFPlayer/DFPlayerUIManager.m

@@ -381,7 +381,57 @@ typedef void(^DFPlayerLyricsBlock)(NSString *onPlayingLyrics);
     }
 }
 
+/**释放播放器UI*/
+- (void)dfUI_deallocPlayer
+{
+    if(_playBtn){
+        _playBtn = nil;
+    }
+   
+    if(_typeBtn){
+        _typeBtn = nil;
+    }
+    
+    if(_bufferProgressView){
+        _bufferProgressView = nil;
+    }
+   
+    if(_progressSlider){
+        _progressSlider = nil;
+    }
+    
+    if(_currentTimeLabel){
+        _currentTimeLabel = nil;
+    }
+
+    if(_totalTimeLabel){
+        _totalTimeLabel = nil;
+    }
+    
+    if(_lyricsTableView){
+        _lyricsTableView = nil;
+    }
+    
+    if(_playImage){
+        _playImage = nil;
+    }
+   
+    if(_pauseImage){
+        _pauseImage = nil;
+    }
 
+    if(_singleImage){
+        _singleImage = nil;
+    }
+  
+    if(_circleImage){
+        _circleImage = nil;
+    }
+    
+    if(_shuffleImage){
+        _shuffleImage = nil;
+    }
+}
 @end
 
 

+ 2 - 0
创维盒子/双子星云手机/connectDeviceManager/connectDeviceManager.m

@@ -598,6 +598,8 @@ static connectDeviceManager *connectDeviceManagerInstance = nil;
     }
     else if(time > 0){
         [self didGetPingStateIsOK:YES];
+        //test code
+        //[self didGetPingStateIsOK:NO];
     }
     
 }