CC-1665: Scheduled stream rebroadcasting and recording
-ability to preview webstreams inside of playlists
This commit is contained in:
parent
952f18dc3c
commit
c73328e297
2 changed files with 85 additions and 63 deletions
|
@ -180,19 +180,33 @@ class AudiopreviewController extends Zend_Controller_Action
|
||||||
$this->_helper->json($result);
|
$this->_helper->json($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
function createElementMap($track){
|
private function createElementMap($track)
|
||||||
|
{
|
||||||
$elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"",
|
$elementMap = array( 'element_title' => isset($track['track_title'])?$track['track_title']:"",
|
||||||
'element_artist' => isset($track['artist_name'])?$track['artist_name']:"",
|
'element_artist' => isset($track['artist_name'])?$track['artist_name']:"",
|
||||||
'element_id' => isset($track['id'])?$track['id']:"",
|
'element_id' => isset($track['id'])?$track['id']:"",
|
||||||
'element_position' => isset($track['position'])?$track['position']:"",
|
'element_position' => isset($track['position'])?$track['position']:"",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$elementMap['type'] = $track['type'];
|
||||||
|
|
||||||
|
if ($track['type'] == 0) {
|
||||||
$fileExtension = pathinfo($track['path'], PATHINFO_EXTENSION);
|
$fileExtension = pathinfo($track['path'], PATHINFO_EXTENSION);
|
||||||
|
//type is file
|
||||||
|
//TODO: use MIME type for this
|
||||||
if (strtolower($fileExtension) === 'mp3') {
|
if (strtolower($fileExtension) === 'mp3') {
|
||||||
$elementMap['element_mp3'] = $track['item_id'];
|
$elementMap['element_mp3'] = $track['item_id'];
|
||||||
} else if (strtolower($fileExtension) === 'ogg') {
|
} else if (strtolower($fileExtension) === 'ogg') {
|
||||||
$elementMap['element_oga'] = $track['item_id'];
|
$elementMap['element_oga'] = $track['item_id'];
|
||||||
} else {
|
} else {
|
||||||
//the media was neither mp3 or ogg
|
//the media was neither mp3 or ogg
|
||||||
|
throw new Exception("Unknown file type");
|
||||||
|
}
|
||||||
|
|
||||||
|
$elementMap['uri'] = "/api/get-media/file/".$track['item_id'];
|
||||||
|
} else {
|
||||||
|
$elementMap['uri'] = $track['path'];
|
||||||
}
|
}
|
||||||
return $elementMap;
|
return $elementMap;
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,19 +125,27 @@ function buildplaylist(p_url, p_playIndex) {
|
||||||
var total = 0;
|
var total = 0;
|
||||||
for(index in data){
|
for(index in data){
|
||||||
|
|
||||||
|
if (data[index]['type'] == 0) {
|
||||||
if (data[index]['element_mp3'] != undefined){
|
if (data[index]['element_mp3'] != undefined){
|
||||||
media = {title: data[index]['element_title'],
|
media = {title: data[index]['element_title'],
|
||||||
artist: data[index]['element_artist'],
|
artist: data[index]['element_artist'],
|
||||||
mp3:"/api/get-media/file/"+data[index]['element_mp3']
|
mp3:data[index]['uri']
|
||||||
};
|
};
|
||||||
} else if (data[index]['element_oga'] != undefined) {
|
} else if (data[index]['element_oga'] != undefined) {
|
||||||
media = {title: data[index]['element_title'],
|
media = {title: data[index]['element_title'],
|
||||||
artist: data[index]['element_artist'],
|
artist: data[index]['element_artist'],
|
||||||
oga:"/api/get-media/file/"+data[index]['element_oga']
|
oga:data[index]['uri']
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
} else if (data[index]['type'] == 1) {
|
||||||
|
media = {title: data[index]['element_title'],
|
||||||
|
artist: data[index]['element_artist'],
|
||||||
|
mp3:data[index]['uri']
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (media) {
|
||||||
myPlaylist[index] = media;
|
myPlaylist[index] = media;
|
||||||
|
}
|
||||||
// we should create a map according to the new position in the player itself
|
// we should create a map according to the new position in the player itself
|
||||||
// total is the index on the player
|
// total is the index on the player
|
||||||
_idToPostionLookUp[data[index]['element_id']] = total;
|
_idToPostionLookUp[data[index]['element_id']] = total;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue