2010-11-23 2 views
0

막혔습니다. 근본적으로 분명합니다. SWF 플레이어에 대해 많이 알지 못합니다. 이제 막 제공되었으므로 기존 코드에 추가하려고합니다.URL에 GET 매개 변수를 추가하는 것이 SWF 플레이어를 엉망으로 만드는 이유

<script type="text/javascript"> 
var SD = window.parent; 
var flashvars = { 
     videoPath: "<?php echo($movie_url); ?>", 
     ccPath: "<?php echo($cc_url); ?>" 
}; 
var params = {}; 
params.allowscriptaccess = "always"; 
params.allowFullScreen = "true"; 
var attributes = {}; 

swfobject.embedSWF("player/player.swf", "myContent", "100%", "100%", 
"9.0.124","htassets/install/expressInstall.swf", flashvars, params, attributes); 

swffit.fit("myContent",600,330,1903,860,false,false); 
</script> 

이제 $ movie_url 변수가 단순한 "http://myhost.com/movie.mov"이면 모든 것이 정상적으로 작동합니다.

하지만 액세스를 제어 할 수 있도록 파일을 읽는 PHP 스크립트를 통해 파일을 제공하려고합니다.

$movie_url = "get_movie.php". 

이것은 또한 작동합니다. 그러나 URL에 GET 매개 변수를 추가하기 시작하면

$movie_url = "get_movie.php?movie=2&resolution=300" 

그런 다음 모두가 떨어져 나간다. 영화를 제공하는 PHP 스크립트가 올바르게 작동합니다. 브라우저 바의 오른쪽 매개 변수를 사용하거나 wget을 사용하여 호출하면 괜찮습니다. 그래서 문제는 SWF 플레이어를 통과 할 때 엉망이되는 것 같습니다.

어떻게하면됩니까? 어떤 도움을 주셔서 감사합니다.

EDIT : URL을 인코딩하는 것과 관련이 있다고 생각되지만,이 모든 것을 시도했지만 작동하지 않는 것 같습니다.

답변

0

동영상을로드하려고 할 때 실제로 플래시가 호출하는 URL을 확인하는 것이 도움이 될 수 있습니다. 그 목적으로 charles proxy과 같은 도구를 사용할 수 있습니다.

플래시 비디오 플레이어가 URL에서 가져 오기 매개 변수를 제거하고 수동으로 추가 할 API가없는 경우 서버에서 url rewrite rule을 사용하여 URL을 통해 비디오를 사용할 수있게 만들 수 있습니다./get_movie/2/300과 같은 get_movie/2/300과 같은 매개 변수를 가져 오지 못했습니다.

+0

내 로컬 호스트에서 실행하면 직접 링크 (작동 중)와 PHP 스크립트 (브라우저 및 wget을 통해 작동하지만 SWF는 작동하지 않음)[23/Nov/2010 : 09 : 55 : 47 +0000] "/movietest/get_movie.php?lesson_id=1&FLVPlaybackVersion=2.1 HTTP/1.1"200 14637038 "-" "Mozilla/5.0 (X11; U; Linux x86_64 ; en-GB; rv : 1.9.2.12) Gecko/20101027 우분투/10.04 (맑은) Firefox/3.6.12 " [2010-11-23 : 09 : 57 : 39 +000 0] "GET /movietest/movie1.mov HTTP/1.1"200 14637038 "-" "Mozilla/5.0 (X11; 유; Linux x86_64; ko-KR; rv : 1.9.2.12) Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12 " – h4rm0ny

+0

요청한 첫 번째 URL이 /movietest/get_movie.php?lesson_id=1&FLVPlaybackVersion=2.1 인 것 같습니다.이 둘을 추가 했습니까? 매개 변수를 수동으로 또는 비디오 플레이어에서 수행합니까? "get_movie.php? movie = 2 & resolution = 300"플레이어를 전달하는 정확한 URL입니까?이 경우 플레이어가 매개 변수를 제거하는 것으로 보입니다 – Simon

+0

lesson_id 매개 변수 올바른지 - URL에 직접 추가되었습니다 (몇 가지 다른 버전을 가지고 놀았습니다. 죄송합니다) FLVPlaybackVersion 매개 변수가 추가되지 않았습니다 .GET 매개 변수를 전달하지 않으면 나타나지 않습니다. 하나 이상의 매개 변수를 전달하면 SWF 플레이어가 자동으로이 매개 변수를 추가하는 것으로 보입니다. PHP 스크립트에 문제가 발생하지는 않지만 (해당 매개 변수가 있거나없이 작동 함) 문제가 발생할 수 있는지 여부는 알 수 없습니다. SWF 플레이어에서 문제가 발생했습니다.이 작업은 매우 혼란 스럽습니다. 실제 요구 사항 Apache 로그의 t가 올바른 것 같습니다. – h4rm0ny

관련 문제