묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
예전에 긁어왔던 글인데 사용법을 모르겠어요. 도와주세요.
2011.07.31 19:08
빨간색으로 되어 있는 글 읽어보시고 사용법 좀 알려주세요.
XE게시판 목록에서 뮤직 플레이 컨트롤러 삽입하기
XE게시판 목록에서 뮤직 플레이 컨트롤러 삽입하기
개요
클라이언트 측에서 게시판 목록에다 음악플레이가 되게 컨트롤 버튼을 넣어달라는 요청을 해왔다. 좀 난감했고, 불가능하다고 느꼈지만 막상 작업하다보니 해결을 보게 되었다.
대략적으로 XE에서 게시물에다가 음악파일로 첨부를 하면 그것을 확인하여 게시판 목록에서 플레이버튼이 생기면서 플레이버튼을 누르면 첨부한 음악이 나오게 된다.
목록에 로드되는 플래시 캐시가 많기 때문에 음악을 멈추고 일정 시간이 지나면 음악이 언로드 된다. 그전에 다시 플레이버튼을 누르면 일시정지한 부분부터 플레이하게 된다.
뮤직 플레이 플래시 파일
뮤직플레이어 플래시 작업파일 다운로드(cs5,ac3.0으로 제작)
SoundPlay 다운로드(첨부파일 확인)
플래시 로드 자바스크립트 준비
플래시를 로드하는 자바스크립트를 추가한다. 다른것으로 사용해도 되고, 표준 방식으로 플래시를 불러도 상관없다.
// flashWrite(파일경로, 가로, 세로, 아이디, 배경색, 변수, 윈도우모드)
function flashWrite(url,w,h,id,bg,vars,win){
var flashStr=
"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+w+"' height='"+h+"' id='"+id+"' align='middle'>" +
"<param name='allowScriptAccess' value='always' />" +
"<param name='movie' value='"+url+"' />" +
"<param name='FlashVars' value='"+vars+"' />" +
"<param name='wmode' value='"+win+"' />" +
"<param name='menu' value='false' />" +
"<param name='quality' value='high' />" +
"<param name='bgcolor' value='+
'"+bg+"' />" +
"<embed src='"+url+"' FlashVars='"+vars+"' wmode='"+win+"' menu='false' quality='high' bgcolor='"+bg+"' width='"+w+"' height='"+h+"' name='"+id+"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />" +
"</object>";
document.write(flashStr);
}
xe 게시판 목록 스킨에 코드추가
아래의 코드를 게시판 목록 스킨 글이 반복되는 곳에다 삽입하면 첫번째 첨부파일 주소가 나오게 된다. 단 음악파일만 출력된다.
{@ $uploaded_list = $document->getUploadedFiles() }
<!--@foreach($uploaded_list as $key => $file)-->
<!--@if(preg_match("/\.(mp1|mp2|mp3|mp4)$/i",$file->source_filename))-->
{$file->uploaded_filename}
<!--@break-->
<!--@end-->
<!--@end-->
음악파일이 표시되는 부분에 플래시를 로그하기 위하여 아래와 같이 변경한다. 플래시를 불러오면서 음악파일 주소가 적힌 변수를 플래시로 넘겨준다.
<script type="text/javascript">
flashWrite("/swf/SoundPlay.swf", "19", "17", "soundplay", "white","sndSource={$file->uploaded_filename}","transparent");
</script>
여러가지 음악파일을 플레이시킬 필요가 없어서 음악파일 하나 발견하면 정지시키게 break걸었다.
복수 음악을 넣고 플레이어를 만들고싶으면 break부분을 빼고, 구분자 넣고 주소목록을 한줄에 쭉 적고 플래시에서 배열처리해서 플래시를 수정한다.
하지만 그렇게 많이 사용하지 않을거 같다. ㅋㅋ~
출처 : http://ddada.pe.kr/detail.php?mod=0&no=70
도와주심 감사하겠습니다. sc70_SoundPlay.zip
출처 : http://ddada.pe.kr/detail.php?mod=0&no=70
도와주심 감사하겠습니다. sc70_SoundPlay.zip