閱讀953 返回首頁    go 魔獸


視頻基本屬性__媒體庫管理_開發人員指南_視頻點播-阿裏雲

返回:簡介 >>

媒體庫管理-媒體基本信息-示例代碼-PHP

  • 簡介

    示例如何查詢和更新媒體基本信息。

    SDK的安裝和使用,參考媒體庫SDK-PHP

  • 查詢媒體基本信息

    查詢媒體提供了2種方式:媒體ID或OSS文件地址。

    • 使用媒體ID查詢媒體

      詳細參數參考API使用手冊->媒體接口->查詢媒體-使用媒體ID

      1. include_once 'aliyun-php-sdk-core/Config.php';
      2. use MtsRequestV20140618 as Mts;
      3. $accessKeyID = 'test'; // 替換成真實的id
      4. $accessKeySecret = 'test'; // 替換成真實的secret
      5. $profile = DefaultProfile::getProfile('cn-hangzhou',
      6. $accessKeyID,
      7. $accessKeySecret);
      8. $client = new DefaultAcsClient($profile);
      1. function queryMediaById($client, $mediaID)
      2. {
      3. $request = new MtsQueryMediaListRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaIds($mediaID);
      6. $response = $client->getAcsResponse($request);
      7. return $response;
      8. }
      9. function printMedia($media)
      10. {
      11. if (array_key_exists('Title', $media)) {
      12. print_r('Title: '.$media->{'Title'}."n");
      13. }
      14. if (array_key_exists('Description', $media)) {
      15. print_r('Description: '.$media->{'Description'}."n");
      16. }
      17. if (array_key_exists('Tags', $media)) {
      18. print_r('Tags: '.$media->{'Tags'}->{'Tag'}[0]."n");
      19. }
      20. if (array_key_exists('CoverURL', $media)) {
      21. print_r('CoverURL: '.$media->{'CoverURL'}."n");
      22. }
      23. print_r('Format: '.$media->{'Format'}."n");
      24. print_r('Resolution: '.$media->{'Width'}.'x'.$media->{'Height'}."n");
      25. print_r('FileSize: '.$media->{'Size'}."n");
      26. print_r('Bitrate: '.$media->{'Bitrate'}."n");
      27. print_r('FPS: '.$media->{'Fps'}."n");
      28. }
      29. $mediaID = 'test'; // 替換成真實的mediaID
      30. $medias = queryMediaById($client, $mediaID)->{'MediaList'}->{'Media'};
      31. for ($i=0; $i < count($medias); $i++) {
      32. printMedia($medias[$i]);
      33. }
    • 使用OSS文件地址查詢媒體

      詳細參數參考API使用手冊->媒體接口->查詢媒體-使用OSS文件地址

      1. function queryMediaByURL($client, $mediaURL)
      2. {
      3. $request = new MtsQueryMediaListByURLRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setFileURLs($mediaURL);
      6. $response = $client->getAcsResponse($request);
      7. return $response;
      8. }
      9. $ossEndpoint = 'https://test.oss-cn-hangzhou.aliyuncs.com/';
      10. // OSS的Object不需要"/"開始,替換成真實的ossObject
      11. $ossObject = 'test/測試.mp4';
      12. $medias = queryMediaByURL($client,$ossEndpoint.urlencode($ossObject))->{'MediaList'}->{'Media'};
      13. for ($i=0; $i < count($medias); $i++) {
      14. printMedia($medias[$i]);
      15. }
  • 更新屬性

    更新提供了2種更新方式:全量屬性更新,單個屬性更新。

    • 全量更新屬性

      詳細參數參考API使用手冊->媒體接口->更新媒體-基本信息

      更新時,必須指定所有字段,不設置的字段會被清空。

      1. function updateMediaAllField($client, $mediaID, $title, $description, $tags, $coverURL)
      2. {
      3. $request = new MtsUpdateMediaRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaId($mediaID);
      6. $request->setTitle($title);
      7. $request->setCateId(2663987);
      8. $request->setDescription($description);
      9. $request->setTags($tags);
      10. $request->setCoverURL($coverURL);
      11. $response = $client->getAcsResponse($request);
      12. return $response;
      13. }
      14. $mediaID = 'test'; // 替換成真實的mediaID
      15. $media = updateMediaAllField($client, $mediaID,
      16. 'title', 'description', 'tags', 'coverURL')->{'Media'};
    • 單個更新屬性

      不同的字段可以單獨更新,使用的是不同API,可以不修改其他字段的情況下,方便的更新單個字段。

      這裏通過“發布狀態”舉例,詳細參數參考API使用手冊->媒體接口->更新媒體-發布狀態

      1. function updateMediaPublishState($client, $mediaID, $state)
      2. {
      3. $request = new MtsUpdateMediaPublishStateRequest();
      4. $request->setAcceptFormat('JSON');
      5. $request->setMediaId($mediaID);
      6. $request->setPublish($state);
      7. $response = $client->getAcsResponse($request);
      8. return $response;
      9. }
      10. $mediaID = 'test'; // 替換成真實的mediaID
      11. // 更新"發布狀態"的API沒有返回值,通過捕獲異常來判斷是否執行成功
      12. try {
      13. updateMediaPublishState($client, $mediaID, "true");
      14. } catch (ClientException $e) {
      15. print_r('ClientException:'."n");
      16. print_r($e);
      17. } catch (ServerException $e) {
      18. print_r('ServerException:'."n");
      19. print_r($e);
      20. }

返回:簡介 >>

最後更新:2016-11-15 17:47:07

  上一篇:go 主題通知方式接收消息__接收消息通知_開發人員指南_視頻點播-阿裏雲
  下一篇:go 媒體詳細信息__媒體庫管理_開發人員指南_視頻點播-阿裏雲