PSP에는 [인터넷 라디오]라는 기능이 있다.


이 기능은 PSP에 내장된 [인터넷 브라우저]로 전용 재생 플러그인을 지원하는 웹 사이트에 접속하여 MP3 또는 AAC 규격의 오디오 스트림을 재생하는 기능이다.



이때 웹 사이트 접속은 XMB에서 반드시 [인터넷 라디오] 메뉴로 진입해 해당 사이트의 어드레스가 담긴 프리셋을 여는 식으로 수행되어야 한다.
[인터넷 브라우저]를 바로 실행 후 어드레스를 직접 입력해서 접속할 경우 플러그인이 완전히 활성화되지 않아 스트림 재생이 불가능하다.
[인터넷 라디오] 기능의 기본 동작 원리

기능의 대략적인 구조도를 그려보면 프리셋을 통해 연결되는 웹 사이트, 정확히는 이를 이루는 자바스크립트 코드가 이 기능의 핵심 로직을 수행함을 알 수 있다. PSP에서 동작하는 일종의 웹 애플리케이션인 셈.
기본적으로는 웹 사이트 내에서 사전 정의된 경로로 스트림을 요청하는 프로세스가 수행되나, 공식 프리셋 중 [INTERNET RADIO PLAYER I/II]에 대응하는 웹 사이트의 경우 외부 API 쿼리를 통해 재생할 스트림 경로를 동적으로 결정하는 프로세스를 갖추고 있기도 하다.

공식 프리셋 일람
당시 SCE가 공식 가이드를 통해 배포했던 기본 프리셋들은 모두 radio.psp.dl.playstation.net 아래 어드레스의 웹 사이트들을 가리키는데, 이들 사이트는 모두 SHOUTcast 또는 Icecast 디렉토리에서 검색되는 스트림을 실시간으로 불러와 재생할 수 있도록 구성되어 있다.
그리고 놀랍게도 2026년 1월 현재까지 멀쩡히 접속되며 스트림 재생 또한 가능하다!
이처럼 여전히 스트림 재생까지 무리없이 가능한 이유는, 상기한 디렉토리 및 스트림 서비스가 여전히 HTTP 기반으로 운영되고 있을 뿐 아니라 API 작동 구조까지 큰 변화 없이 그대로 유지되고 있기 때문이다.

심지어 이들은 근본적으로 정적 웹사이트이기에, 소스를 포크해서 직접 호스팅하거나 메모리 스틱에서 로컬 HTML로 접근해도 모든 기능을 정상적으로 이용할 수 있다. — 이 부분은 ②편에서 더 자세히 다룰 예정이다.
속된 표현을 빌리자면 단순히 외부 서버(SHOUTcast, Icecast)에 스트림을 요청해 받아오는 발사대에 불과해서, 약간의 코드를 손볼 줄 안다면 사실상 반영구적으로 사용 가능한 기능인 셈.


그렇다면 당시 배포된 공식 프리셋에는 어떤 것들이 있었을까? 가이드 홈페이지는 현재 접속이 불가능하지만 웹 아카이브를 통해 그 흔적을 확인해볼 수는 있다.
참고로 PSP에 프리셋을 등록하려면 메모리 스틱의 /PSP/RADIOPLAYER/ 폴더에 .prs 파일을 넣으면 된다.
Internet Radio Player I
Internet Radio Player I은 SHOUTcast의 콘텐츠를 제공합니다. 50여 개의 장르 중에서 원하는 라디오 방송국을 선택할 수 있습니다. 원하는 장르를 선택하면 방송국 리스트 중에서 인기가 높은 방송국을 자동으로 골라 재생합니다.
http://radio.psp.dl.playstation.net/psp/radio/player/PLAYER_I/index.html
INTERNET RADIO PLAYER I
radio.psp.dl.playstation.net
동작 원리:
① 웹 사이트 상에서 선택한 장르에 따라 검색 작업에 사용할 키워드를 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과 내의 상위 30개 스트림을 웹 사이트 상에서 자유롭게 선택하며 들을 수 있다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var selectedGenre = -1;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 웹 사이트 상에서 선택 가능한 장르 목록
genreList = new Array(
"50s",
"60s",
"70s",
"80s",
"90s",
"2000s",
"Alt",
"Ambient",
"Ballade",
"Blues",
"Bossa Nova",
"British",
"Classical",
"Contempo",
"Country",
"Eclectic",
"Electronica",
"Euro",
"Folk",
"Game",
"HardRock",
"Hawaiian",
"House",
"Indie",
"International",
"Island",
"Jazz",
"JPOP",
"KPOP",
"Latin",
"Live",
"Metal",
"Modern",
"News",
"Oldies",
"Pakistani",
"Polskie",
"Pop",
"Progressive",
"Public",
"R&B",
"Reggae",
"Religious",
"Salsa",
"Talk",
"Techno",
"Top40",
"Turkish",
"Urban",
"Various"
);
// 웹사이트 내 임의 장르 클릭 시 쿼리 키워드 지정
function g_mouseDown(rowNum, colNum) {
var _selectedGenre = rowNum + numTableRaw * colNum;
if (_selectedGenre != selectedGenre)
selectedGenre = _selectedGenre;
}
if (0 <= selectedGenre)
var url = shoutcastYelloPageUrl_A + genreList[selectedGenre];
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Internet Radio Player II
Internet Radio Player II는 ICECAST(icecast.org)의 콘텐츠를 제공합니다. 50여 개의 장르 중에서 선택할 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/PLAYER_II/index.html
INTERNET RADIO PLAYER II
radio.psp.dl.playstation.net
동작 원리:
① 웹 사이트 상에서 선택한 장르에 따라 검색 작업에 사용할 키워드를 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과 내의 상위 30개 스트림을 웹 사이트 상에서 자유롭게 선택하며 들을 수 있다.
※ 2026년 1월 현재 Icecast API 호출 경로의 일부 구조 변경으로 인해 순정 코드는 정상적으로 동작하지 않는다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var selectedGenre = -1;
var icecastStreamDirectoryUrl_A = "http://dir.xiph.org/search?start=0&num=50&search="; // API 호출 경로 형식
// 웹 사이트 상에서 선택 가능한 장르 목록
genreList = new Array (
"50s",
"60s",
"70s",
"80s",
"90s",
"2000s",
"Alt",
"Ambient",
"Ballade",
"Blues",
"Bossa Nova",
"British",
"Classical",
"Contempo",
"Country",
"Eclectic",
"Electronica",
"Euro",
"Folk",
"Game",
"HardRock",
"Hawaiian",
"House",
"Indie",
"International",
"Island",
"Jazz",
"JPOP",
"KPOP",
"Latin",
"Live",
"Metal",
"Modern",
"News",
"Oldies",
"Pakistani",
"Polskie",
"Pop",
"Progressive",
"Public",
"R&B",
"Reggae",
"Religious",
"Salsa",
"Talk",
"Techno",
"Top40",
"Turkish",
"Urban",
"Various"
);
// 웹사이트 내 임의 장르 클릭 시 쿼리 키워드 지정
function g_mouseDown(rowNum, colNum) {
var _selectedGenre = rowNum + numTableRaw * colNum;
if (_selectedGenre != selectedGenre)
selectedGenre = _selectedGenre;
}
if (0 <= selectedGenre)
var url = icecastStreamDirectoryUrl_A + genreList[selectedGenre];
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Internet Radio Player "CLIP" 시리즈
1980년대에 판매되었던 SONY의 카드 라디오 "ONE-STATION RADIO CLIP"이 인터넷 라디오 플레이어로 돌아왔습니다.
Back to the 80's [장르: 80's]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_80s/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_80s/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "80s"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "80s";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
ROCK [장르: Rock]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_rock/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_rock/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "rock"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "rock";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
COUNTERCULTURE [장르: Alternative]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_alternative/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_alternative/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "alternative"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "alternative";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
BRITISH CULTURE [장르: British]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_british/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_british/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "british"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "british";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
All The Classic [장르: Classic]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_classic/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_classic/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "classical"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "classical";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Jazz in 246 [장르: Jazz]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_jazz/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_jazz/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "jazz"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "jazz";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
INDIA [장르: India]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_india/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_india/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "india"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "india";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
J-POP [장르: J-pop]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_jpop/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_jpop/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "jpop"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "jpop";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
K-POP [장르: K-pop]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_kpop2/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_kpop2/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "kpop"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "kpop";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
ANIME CAN [장르: Anime]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_anime/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_anime/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "anime"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "anime";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
GAME START [장르: Game]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_game/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_game/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "game"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "game";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Healing Time [장르: Healing]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_relax/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_relax/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "relax"가 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "relax";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Soundtrack [장르: Soundtrack]
http://radio.psp.dl.playstation.net/psp/radio/player/clip_soundtrack/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/clip_soundtrack/index.html
radio.psp.dl.playstation.net
동작 원리:
① SHOUTcast API를 통해 장르 분류에 "soundtrack"이 포함된 모든 스트림을 검색한다.
② 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID = "sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A = "http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
var searchKeyword = "soundtrack";
var url = shoutcastYelloPageUrl_A + searchKeyword;
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Internet Radio Player "ONE SWITCH RADIO" 시리즈
스위치를 바꾸는 것만으로 선국할 수 있는 인터넷 라디오 플레이어입니다.
TO JAZZ OR NOT TO JAZZ, THAT IS THE QUESTION
스위치를 [JAZZ]에 맞추면 재즈를, [NOT]에 맞추면 재즈 이외의 음악을 들을 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_JazzOrNot/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_JazzOrNot/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Swing", "Jazz" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Classical", "Classical", "International", "Pakistani", "Turkish" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Like On The Radio
과거의 라디오 프로그램과 흘러간 음악을 바꿔가며 들을 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_LikeOnTheRadio/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_LikeOnTheRadio/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Big Band" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Old Time" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
LATIN ON
LATIN 스위치를 [ON]에 맞추면 라틴 음악 방송국이 선국됩니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_LatinOn/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_LatinOn/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Bossa", "Salsa", "Brazil", "Rumba", "Samba" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Baroque", "Piano", "New Age" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Hip Me, Hop You
스위치를 [HIP]에 맞추면 힙합, [HOP]에 맞추면 랩 음악을 들을 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_HipMeHopYou/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_HipMeHopYou/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Hiphop" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Hiphop" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
Coffee Or Tea
[Coffee]와 [Tea]를 전환하면 편안함을 주는 서로 다른 종류의 음악을 들을 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_CoffeeOrTea/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_CoffeeOrTea/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Downtempo" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Chanson", "Bossa" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
a way to relax
앰비언트 음악과 클래식 음악을 전환하여 들을 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_AWayToRelax/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_AWayToRelax/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Classical" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Ambient" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
FUNKACOPUNKA
PUNK 음악과 FUNK 음악을 스위치 하나로 전환할 수 있습니다.
http://radio.psp.dl.playstation.net/psp/radio/player/os_PUNKACOFUNKA/index.html
http://radio.psp.dl.playstation.net/psp/radio/player/os_PUNKACOFUNKA/index.html
radio.psp.dl.playstation.net
동작 원리:
① 스위치의 ON/OFF 상태에 따라 주어진 풀(onKeywords, offKeywords) 내에서 검색할 장르 키워드를 무작위로 결정한다.
② SHOUTcast API를 통해 장르 분류에 [①에서 결정한 키워드]가 포함된 모든 스트림을 검색한다.
③ 검색 결과(XML) 내의 스트림을 순차 선택하며 재생한다.
var userAgentForHttpGet = "PSP-InternetRadioPlayer/1.00";
var size = 16384;
var devID="sh1ODSQoScMFgZWn"; // SCE에서 발급한 PSP용 공식 API 키
var shoutcastYelloPageUrl_A="http://api.shoutcast.com/legacy/stationsearch?k="+devID+"&search="; // API 호출 경로 형식
// 스위치가 [ON]일 때 검색할 장르 키워드 풀
onKeywords = new Array ( "Funk" );
// 스위치가 [OFF]일 때 검색할 장르 키워드 풀
offKeywords = new Array ( "Punk" );
var url = "";
switchState = switchState ? 0 : 1;
if ( switchState === 1 ) { // 스위치가 [ON]일 경우
var n = onKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + onKeywords [m];
}
else { // 스위치가 [OFF]일 경우
var n = offKeywords.length;
var m = Math.floor (Math.random () * (n + 1));
if ( n <= m ) m = n - 1;
url = shoutcastYelloPageUrl_A + offKeywords [m];
}
psp.sysRadioPrepareForHttpGet (url, userAgentForHttpGet, size, 0); // PSP 재생 플러그인 호출
댓글