Sfoglia il codice sorgente

VLCPlaybackController+MediaLibrary: Basic link to new ML

Soomin Lee 7 anni fa
parent
commit
e8c7749cae

+ 3 - 0
Sources/VLCPlaybackController+MediaLibrary.h

@@ -11,8 +11,11 @@
  *****************************************************************************/
 
 #import "VLCPlaybackController.h"
+#import <VLCMediaLibraryKit/VLCMLMedia.h>
+
 @class NSManagedObject;
 @interface VLCPlaybackController (MediaLibrary)
 - (void)playMediaLibraryObject:(NSManagedObject *)mediaObject;
+- (void)playMedia:(VLCMLMedia *)media;
 - (void)openMediaLibraryObject:(NSManagedObject *)mediaObject;
 @end

+ 17 - 0
Sources/VLCPlaybackController+MediaLibrary.m

@@ -12,6 +12,7 @@
 
 #import "VLCPlaybackController+MediaLibrary.h"
 #import <CoreData/CoreData.h>
+#import <VLCMediaLibraryKit/VLCMLFile.h>
 
 @implementation VLCPlaybackController (MediaLibrary)
 
@@ -36,6 +37,11 @@
         [self configureWithShowEpisode:(MLShowEpisode *)mediaObject];
 }
 
+- (void)playMedia:(VLCMLMedia *)media
+{
+    [self configureMediaListWithMLMedia:@[media] indexToPlay:0];
+}
+
 /*
 Open a file in the libraryViewController without changing the playstate
 
@@ -130,6 +136,17 @@ Open a file in the libraryViewController without changing the playstate
     [self configureMediaList:list atIndex:index];
 }
 
+- (void)configureMediaListWithMLMedia:(NSArray<VLCMLMedia *> *)mlMedia indexToPlay:(int)index {
+    VLCMediaList *list = [[VLCMediaList alloc] init];
+    VLCMedia *media;
+    for (VLCMLMedia *file in mlMedia) {
+        media = [VLCMedia mediaWithURL: file.mainFile.mrl];
+        [media addOptions:self.mediaOptionsDictionary];
+        [list addMedia:media];
+    }
+    [self configureMediaList:list atIndex:index];
+}
+
 - (void)configureMediaList:(VLCMediaList *)list atIndex:(int)index
 {
     [self playMediaList:list firstIndex:index subtitlesFilePath:nil];