document.addEventListener('DOMContentLoaded', () => {
const players = document.querySelectorAll('.custom_audio_player');
players.forEach((player) => {
const audio = player.querySelector('.audio-player');
const playPauseBtn = player.querySelector('.playPauseBtn_twig');
const progress = player.querySelector('.progress_twig');
const currentTimeEl = player.querySelector('.currentTime_twig');
const durationEl = player.querySelector('.duration_twig');
const backwardBtn = player.querySelector('.backwardBtn_twig');
const forwardBtn = player.querySelector('.forwardBtn_twig');
const muteBtn = player.querySelector('.muteBtn_twig');
if (!playPauseBtn || !progress || !currentTimeEl || !durationEl || !backwardBtn || !forwardBtn || !muteBtn) {
return;
}
const playIcon = playPauseBtn.querySelector('.play');
const pauseIcon = playPauseBtn.querySelector('.pause');
const volumeIcon = muteBtn.querySelector('.volume');
const muteIcon = muteBtn.querySelector('.mute');
if (!playIcon || !pauseIcon || !volumeIcon || !muteIcon) {
console.error('One or more control icons are missing.');
return;
}
const formatTime = (time) => {
const minutes = Math.floor(time / 60);
const seconds = Math.floor(time % 60).toString().padStart(2, '0');
return `${minutes}:${seconds}`;
};
// Update progress bar and time
audio.addEventListener('timeupdate', () => {
progress.value = (audio.currentTime / audio.duration) * 100 || 0;
currentTimeEl.textContent = formatTime(audio.currentTime);
durationEl.textContent = formatTime(audio.duration || 0);
});
// Play/pause functionality
playPauseBtn.addEventListener('click', () => {
if (audio.paused) {
audio.play();
playIcon.classList.add('hidden');
pauseIcon.classList.remove('hidden');
} else {
audio.pause();
playIcon.classList.remove('hidden');
pauseIcon.classList.add('hidden');
}
});
// Seek functionality
progress.addEventListener('input', () => {
audio.currentTime = (progress.value / 100) * audio.duration;
});
// Mute/unmute functionality
muteBtn.addEventListener('click', () => {
audio.muted = !audio.muted;
if (audio.muted) {
volumeIcon.classList.add('hidden');
muteIcon.classList.remove('hidden');
} else {
volumeIcon.classList.remove('hidden');
muteIcon.classList.add('hidden');
}
});
// Skip backward and forward
backwardBtn.addEventListener('click', () => {
audio.currentTime = Math.max(0, audio.currentTime - 10); // Skip 10 seconds backward
});
forwardBtn.addEventListener('click', () => {
audio.currentTime = Math.min(audio.duration, audio.currentTime + 10); // Skip 10 seconds forward
});
// Display duration when audio is loaded
audio.addEventListener('loadedmetadata', () => {
durationEl.textContent = formatTime(audio.duration);
});
});
});
فرارو- رمان «چه کسی پالومینو مولرو را کشت؟» نوشته ماریو بارگاس یوسا، در قالب یک داستان پلیسیِ کلاسیک آغاز میشود، اما بهسرعت فراتر از یک معمای جنایی ساده میرود و به لایههای عمیقتری از جامعه پرو در دهه ۱۹۵۰ نفوذ میکند. قتل وحشیانهی پالومینو، یک سرباز جوان عاشقپیشه، تبدیل به بهانهای میشود تا نویسنده از طریق تحقیقات دو کارآگاه، فساد درون نظام نظامی، تبعیض اجتماعی، تبعیض نژادی و ساختارهای ناعادلانه قدرت را نقد کند. شخصیتهایی که در ابتدا ساده و حتی گاهی طنزآلود به نظر میرسند، بهتدریج چهرههای تاریکتر و پیچیدهتری از خود نشان میدهند.
به گزارش فرارو؛ فضای داستان سرشار از تضاد است؛ میان عشق و نفرت، معصومیت و فساد، قانون و بیعدالتی. یوسا در این رمان کوتاه، اما تأثیرگذار، نهفقط به دنبال پاسخ به پرسش «چه کسی؟» است، بلکه بیشتر از آن به دنبال بررسی «چرا» و «چگونه»ی این قتل است. او نشان میدهد که جرم، نتیجه یک فرد نیست، بلکه محصول یک سیستم بیمار است. رمان با پایانی تلخ و تکاندهنده، خواننده را وادار میکند به قیمت عشق، صداقت و عدالت در جامعهای نابرابر فکر کند.
کارگردان: میکائیل شهرستانی
ترجمه / اقتباس شنیداری: رضا جابر انصاری
بازیگران: هادی کمالی مقدم , هرمز سیرتی , ناهید مسلمی , فریدون محرابی, شهین علیزاده , نورالدین شجره , بیوک میرزایی , مروارید کریم پور , عباس شادروان , سلمان خطی , مسعود زنوزی راد , شهین نجف زاده , محمد یگانه, رضا خندان , امیر فرحان نیا , مصطفی عبداللهی , غلامحسن تسعیری