浏览代码

websocket: implement openURL

Felix Paul Kühne 9 年之前
父节点
当前提交
0c61ca34eb
共有 1 个文件被更改,包括 27 次插入0 次删除
  1. 27 0
      SharedSources/VLCPlayerControlWebSocket.m

+ 27 - 0
SharedSources/VLCPlayerControlWebSocket.m

@@ -81,6 +81,8 @@
         [self _respondToEnded];
     } else if ([type isEqualToString:@"seekTo"]) {
         [self _respondToSeek:receivedDict];
+    } else if ([type isEqualToString:@"openURL"]) {
+        [self _respondToOpenURL:receivedDict];
     } else if ([type isEqualToString:@"volume"]) {
         [self sendMessage:@"VOLUME CONTROL NOT SUPPORTED ON THIS DEVICE"];
     } else
@@ -313,4 +315,29 @@
     }
 }
 
+#pragma mark - openURL
+- (void)_respondToOpenURL:(NSDictionary *)dictionary
+{
+    /*
+     {
+        "type": "OpenURL",
+        "url": "https://vimeo.com/74370512"
+     }
+     */
+    BOOL needsMediaList;
+
+    VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
+    VLCMediaList *mediaList = vpc.mediaList;
+    if (!mediaList) {
+        needsMediaList = YES;
+        mediaList = [[VLCMediaList alloc] init];
+    }
+
+    [mediaList addMedia:[VLCMedia mediaWithURL:[NSURL URLWithString:dictionary[@"url"]]]];
+
+    if (needsMediaList) {
+        [vpc playMediaList:mediaList firstIndex:0];
+    }
+}
+
 @end