예제 #1
0
 public static function obj2arr($array)
 {
     if (is_object($array)) {
         $array = (array) $array;
     }
     if (is_array($array)) {
         foreach ($array as $key => $value) {
             $array[$key] = ContentProviderFactory::obj2arr($value);
         }
     }
     return $array;
 }
예제 #2
0
 private function getAndroidVideoUrl($vid)
 {
     $videoAddressUrl = "";
     $videoAddressUrl1 = "";
     $videoAddressUrl2 = "";
     $videoAddressUrl3 = "";
     if (isset($vid) && !is_null($vid)) {
         $url = replaceStr(FengXingContent::BASE_URL, "{ID}", $vid);
         $mediaid = explode("/", $vid);
         $mediaid = $mediaid[0];
         //  		  var_dump($mediaid);
         $content = getPageWindow($url, "UTF-8");
         try {
             $json = ContentProviderFactory::obj2arr(json_decode($content));
             if (isset($json) && !is_null($json) && isset($json['playinfos']) && !is_null($json['playinfos'])) {
                 $playinfos = $json['playinfos'];
                 foreach ($playinfos as $playinfo) {
                     $cid = $playinfo['cid'];
                     $t_mediaid = $playinfo['mediaid'];
                     if ($t_mediaid !== $mediaid) {
                         continue;
                     }
                     $clarity = $playinfo['clarity'];
                     $byterate = $playinfo['byterate'];
                     $tempUrl = replaceStr(FengXingContent::BASE_URL_MP3, "{cid}", $cid);
                     $tempUrl = replaceStr($tempUrl, "{byterate}", $byterate);
                     $tempjson = ContentProviderFactory::obj2arr(json_decode(getPageWindow($tempUrl, "UTF-8")));
                     if (isset($tempjson) && !is_null($tempjson) && isset($tempjson['playlist']) && !is_null($tempjson['playlist']) && isset($tempjson['playlist'][0]) && !is_null($tempjson['playlist'][0]) && isset($tempjson['playlist'][0]['urls']) && !is_null($tempjson['playlist'][0]['urls'])) {
                         $rc = false;
                         foreach ($tempjson['playlist'][0]['urls'] as $location) {
                             if ($clarity === "high-dvd") {
                                 if ($rc || !isN($videoAddressUrl3)) {
                                     $videoAddressUrl3 = $videoAddressUrl3 . MovieType::VIDEO_SEP_VERSION;
                                 }
                                 $videoAddressUrl3 = $videoAddressUrl3 . MovieType::TOP_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $location;
                                 $rc = true;
                             }
                             if ($clarity === "dvd") {
                                 if ($rc || !isN($videoAddressUrl2)) {
                                     $videoAddressUrl2 = $videoAddressUrl2 . MovieType::VIDEO_SEP_VERSION;
                                 }
                                 $videoAddressUrl2 = $videoAddressUrl2 . MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $location;
                                 $rc = true;
                             }
                             if ($clarity === "tv") {
                                 if ($rc || !isN($videoAddressUrl1)) {
                                     $videoAddressUrl1 = $videoAddressUrl1 . MovieType::VIDEO_SEP_VERSION;
                                 }
                                 $videoAddressUrl1 = $videoAddressUrl1 . MovieType::NORMAL . MovieType::VIDEO_NAME_URL_SEP . $location;
                                 $rc = true;
                             }
                         }
                     }
                 }
             }
             //  		     var_dump($videoAddressUrl3);
             //  		    		    var_dump($videoAddressUrl1);
             //  		    		     var_dump($videoAddressUrl2);
         } catch (Exception $e) {
         }
     }
     $flag = false;
     if (!isN($videoAddressUrl3)) {
         if ($flag) {
             $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
         }
         $videoAddressUrl = $videoAddressUrl . $videoAddressUrl3;
         $flag = true;
     }
     if (!isN($videoAddressUrl2)) {
         if ($flag) {
             $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
         }
         $videoAddressUrl = $videoAddressUrl . $videoAddressUrl2;
         $flag = true;
     }
     if (!isN($videoAddressUrl1)) {
         if ($flag) {
             $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
         }
         $videoAddressUrl = $videoAddressUrl . $videoAddressUrl1;
         $flag = true;
     }
     //  		  var_dump($videoAddressUrl);
     return $videoAddressUrl;
 }
예제 #3
0
 public function parseIOSVideoUrlByContent($content, $p_coding, $p_script)
 {
     $videoUrlParam = getBody($content, $this->p_videourlstart, $this->p_videourlend);
     $url = replaceStr("http://www.letv.com/v_xml/{VID}.xml", '{VID}', $videoUrlParam);
     $content = getPageWindow($url, $this->p_code);
     $content = getBody($content, '<playurl><![CDATA[', ']]></playurl>');
     $contentObj = json_decode($content);
     if (is_object($contentObj) && property_exists($contentObj, 'dispatch')) {
         $contentObj = $contentObj->dispatch;
         if (is_object($contentObj)) {
             $videoAddressUrl4 = "";
             $videoAddressUrl1 = "";
             $videoAddressUrl2 = "";
             $videoAddressUrl3 = "";
             //var_dump($contentObj);
             $contentObj = ContentProviderFactory::obj2arr($contentObj);
             if (array_key_exists('720p', $contentObj)) {
                 $urlArray = $contentObj['720p'];
                 if (is_array($urlArray)) {
                     $tempUrl = $urlArray[0];
                     if (strpos($tempUrl, 'tss=ios') !== false) {
                         $tempUrl = $this->getUrl($tempUrl);
                     } else {
                         $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios');
                     }
                     $videoAddressUrl4 = MovieType::TOP_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl;
                 }
             }
             if (array_key_exists('1300', $contentObj)) {
                 $urlArray = $contentObj['1300'];
                 if (is_array($urlArray)) {
                     $tempUrl = $urlArray[0];
                     if (strpos($tempUrl, 'tss=ios') !== false) {
                         $tempUrl = $this->getUrl($tempUrl);
                     } else {
                         $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios');
                     }
                     $videoAddressUrl1 = MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl;
                 }
             }
             if (array_key_exists('1000', $contentObj)) {
                 $urlArray = $contentObj['1000'];
                 if (is_array($urlArray)) {
                     $tempUrl = $urlArray[0];
                     if (strpos($tempUrl, 'tss=ios') !== false) {
                         $tempUrl = $this->getUrl($tempUrl);
                     } else {
                         $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios');
                     }
                     $videoAddressUrl2 = MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl;
                 }
             }
             if (array_key_exists('350', $contentObj)) {
                 $urlArray = $contentObj['350'];
                 if (is_array($urlArray)) {
                     $tempUrl = $urlArray[0];
                     if (strpos($tempUrl, 'tss=ios') !== false) {
                         $tempUrl = $this->getUrl($tempUrl);
                     } else {
                         $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios');
                     }
                     $videoAddressUrl3 = MovieType::NORMAL . MovieType::VIDEO_NAME_URL_SEP . $tempUrl;
                 }
             }
             $flag = false;
             $videoAddressUrl = '';
             if (!isN($videoAddressUrl4)) {
                 if ($flag) {
                     $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
                 }
                 $videoAddressUrl = $videoAddressUrl . $videoAddressUrl4;
                 $flag = true;
             }
             if (!isN($videoAddressUrl3)) {
                 if ($flag) {
                     $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
                 }
                 $videoAddressUrl = $videoAddressUrl . $videoAddressUrl3;
                 $flag = true;
             }
             if (!isN($videoAddressUrl2)) {
                 if ($flag) {
                     $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
                 }
                 $videoAddressUrl = $videoAddressUrl . $videoAddressUrl2;
                 $flag = true;
             }
             if (!isN($videoAddressUrl1)) {
                 if ($flag) {
                     $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION;
                 }
                 $videoAddressUrl = $videoAddressUrl . $videoAddressUrl1;
                 $flag = true;
             }
             return $videoAddressUrl;
         }
     }
     return '';
 }