【專輯名稱】我們最愛的電影金曲 CD1
【專輯歌手】香港群星
【發行日期】2005-4-10
【發行地區】香港
【專輯介紹】
光影百年,無數精彩的電影曾經陪著我們一起笑過喊過感動過,當中除了幕幕動人的情節外,首首的電影金曲亦曾觸動過無數人的思緒,每當電影裡麵的歌曲響起,幕幕的經典場麵總會隨即浮現腦海之中,所以電影的情節跟電影的歌曲都有著同樣的感染力,就是每年電影頒獎禮上都設有「最佳電影歌曲」這個獎項,便可知電影歌曲在一部電影裡確實扮演著一個重要的角色。
05年香港影壇盛事連連,為推動香港的電影事業,影圈舉辦了不少有關推動電影的活動,一時間全城焦點都集中在這些影壇的盛事上,而SONY BMG亦乘勢炮製了一張以電影歌曲為題的《我們最愛的電影金曲》,雙CD輯錄了36首不同年代的經典電影金曲,當中包括香港電影金像獎最佳電影歌曲: 張國榮的「追」、黎明的「今生不再」、鄭秀文的「終身美麗」、彭羚的「完全因你」、林誌美的「偶遇」、林子祥「最愛是誰」、葉倩文的「黎明不要來」、古巨基的「歡樂今宵」、李玟的「月光愛人」…等等叫人難以忘懷的電影歌曲,在回味每首經典電影歌曲的同時,亦喚起記憶中那幕幕經典的場麵,無論愛電影的你還是愛音樂的你, 這絕對是你不容錯過的誠意之作。
[專輯曲目]:
CD1.
01. 張國榮 - 追 ([金枝玉葉] 主題曲) 第十四屆香港電影金像獎最佳電影歌曲
02. 譚詠麟 - 幻影 ([陰陽錯] 主題曲)
03. 鄭秀文 - 感情線上 ([孤男寡女] 主題曲)
04. 劉德華 - 一起走過的日子 ([至尊無上II 永霸天下] 主題曲)
05. 黎明 - 今生不再 ([玻璃之城] 主題曲) 第十八屆香港電影金像獎最佳電影歌曲
06. 鄭伊健 - 仍能情深愛上 ([姊妹情深] 主題曲)
07. 彭羚 - 完全因你 ([和平飯店] 主題曲) 第十五屆香港電影金像獎最佳電影歌曲
08. Beyond - 灰色軌跡 ([天若有情] 插曲)
09. 許冠傑 - 最佳拍檔 ([最佳拍檔] 主題曲)
10. 鄭伊健 - 友情歲月 ([古惑仔I] 主題曲
11. Maria Cordero - 友誼之光 ([監獄風雲] 插曲)
12. 劉美君 - 午夜情 ([午夜麗人] 主題曲
13. 林誌美 - 偶遇 ([少女日記] 主題曲) 第四屆香港電影金像獎最佳電影歌曲 )
14. 雷安娜 - 彩雲曲 ([彩雲曲] 主題曲)
15. 林子祥 - 最愛是誰 ([最愛] 主題曲) 第六屆香港電影金像獎最佳電影歌曲
16. 鍾鎮濤/彭健新 - 一段情 ([表錯七日情] 主題曲
17. 葉蒨文 - 黎明不要來 ([倩女幽魂] 主題曲) 第七屆香港電影金像獎最佳電影歌曲
18. 呂珊 - 隻記今朝笑 ([笑傲江湖II 東方不敗] 主題曲)
----- all music copyrighted please purchase original materials -----
----- 所有的音樂隻是試聽音質請購買原裝版本 -----
`;
});
playlist.innerHTML = htmls.join("");
},
defineProperties: function () {
Object.defineProperty(this, "currentSong", {
get: function () {
return this.songs[this.currentIndex];
} });
},
handleEvents: function () {
const _this = this;
const cdWidth = cd.offsetWidth;
// Handle CD spins / stops
const cdThumbAnimate = cdThumb.animate([{ transform: "rotate(360deg)" }], {
duration: 10000, // 10 seconds
iterations: Infinity });
cdThumbAnimate.pause();
// Handles CD enlargement / reduction
document.onscroll = function () {
const scrollTop = window.scrollY || document.documentElement.scrollTop;
const newCdWidth = cdWidth - scrollTop;
cd.style.width = newCdWidth > 0 ? newCdWidth + "px" : 0;
cd.style.opacity = newCdWidth / cdWidth;
};
// Handle when click play
playBtn.onclick = function () {
if (_this.isPlaying) {
audio.pause();
} else {
audio.play();
}
};
// When the song is played
audio.onplay = function () {
_this.isPlaying = true;
player.classList.add("playing");
cdThumbAnimate.play();
};
// When the song is pause
audio.onpause = function () {
_this.isPlaying = false;
player.classList.remove("playing");
cdThumbAnimate.pause();
};
// When the song progress changes
audio.ontimeupdate = function () {
if (audio.duration) {
const progressPercent = Math.floor(
audio.currentTime / audio.duration * 100);
progress.value = progressPercent;
}
};
// Handling when seek
progress.onchange = function (e) {
const seekTime = audio.duration / 100 * e.target.value;
audio.currentTime = seekTime;
};
// When next song
nextBtn.onclick = function () {
if (_this.isRandom) {
_this.playRandomSong();
} else {
_this.nextSong();
}
audio.play();
_this.render();
_this.scrollToActiveSong();
};
// Khi prev song
// When prev song
prevBtn.onclick = function () {
if (_this.isRandom) {
_this.playRandomSong();
} else {
_this.prevSong();
}
audio.play();
_this.render();
_this.scrollToActiveSong();
};
// Handling on / off random song
randomBtn.onclick = function (e) {
_this.isRandom = !_this.isRandom;
_this.setConfig("isRandom", _this.isRandom);
randomBtn.classList.toggle("active", _this.isRandom);
};
// Single-parallel repeat processing
repeatBtn.onclick = function (e) {
_this.isRepeat = !_this.isRepeat;
_this.setConfig("isRepeat", _this.isRepeat);
repeatBtn.classList.toggle("active", _this.isRepeat);
};
// Handle next song when audio ended
audio.onended = function () {
if (_this.isRepeat) {
audio.play();
} else {
nextBtn.click();
}
};
// Listen to playlist clicks
playlist.onclick = function (e) {
const songNode = e.target.closest(".song:not(.active)");
if (songNode || e.target.closest(".option")) {
// Handle when clicking on the song
if (songNode) {
_this.currentIndex = Number(songNode.dataset.index);
_this.loadCurrentSong();
_this.render();
audio.play();
}
// Handle when clicking on the song option
if (e.target.closest(".option")) {
}
}
};
},
scrollToActiveSong: function () {
setTimeout(() => {
$(".song.active").scrollIntoView({
behavior: "smooth",
block: "nearest" });
}, 300);
},
loadCurrentSong: function () {
heading.textContent = this.currentSong.name;
cdThumb.style.backgroundImage = `url('${this.currentSong.image}')`;
audio.src = this.currentSong.path;
},
loadConfig: function () {
this.isRandom = this.config.isRandom;
this.isRepeat = this.config.isRepeat;
},
nextSong: function () {
this.currentIndex++;
if (this.currentIndex >= this.songs.length) {
this.currentIndex = 0;
}
this.loadCurrentSong();
},
prevSong: function () {
this.currentIndex--;
if (this.currentIndex