当rss feed改变php时如何播放声音

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当rss feed改变php时如何播放声音相关的知识,希望对你有一定的参考价值。

我有这个php加载rss饲料经济新闻。当rss feed添加新标题时是否可以播放声音?我还没有尝试任何东西,因为我不知道该怎么做。我想我需要做的是从title中存储变量然后比较它,之后调用javascript上的函数来播放声音。

<?php
$rss = new DOMDocument();
$rss->load('https://rss.dailyfx.com/feeds/alerts/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array ( 
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        );
    array_push($feed, $item);
}
    $limit = 5;
    for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y, H:m', strtotime($feed[$x]['date']));
    echo '<p><strong><a " title="'.$title.'">'.$title.'</a></strong><br />';
    echo '<small><em style="color:red; text-align:center;"> '.$date.'</em>    </small></p>';

    }
?>
答案

我知道的方法之一是使用Jquery / Ajax确保您的目录中有jquery文件jquery.min.js。我还修改了你的PHP代码,使其工作。如果您有任何问题,请告诉我。

<script src="jquery.min.js"></script>

<script type="text/javascript">

    $(document).ready(function(){
        //$('#submit').click(function(){
var title='rssfeed';

    $('#loader').fadeIn(400).html('<span>Please Wait, loading.....</span>');

//you can send data if you like
    var datasend = "title="+ title;

            $.ajax({

                type:'POST',
                url:'rssfeed.php',
                data:datasend,
                crossDomain: true,
                cache:false,
                success:function(msg){

    if(msg=='success'){
    alert('message successfully loaded');
(new Audio('https://notificationsounds.com/soundfiles/8b16ebc056e613024c057be590b542eb/file-sounds-1113-unconvinced.mp3')).play();

    }else{
alert('message loading failed');
}
                    $('#loader').hide();


                }

            });



        //})

    });


    </script>


//Display a loading message...
<div id="loader"></div>

你的PHP代码变成了

<?php
// ensure there is no error message
error_reporting(0);

$rss = new DOMDocument();
$rss->load('https://rss.dailyfx.com/feeds/alerts/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array ( 
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        );
    array_push($feed, $item);
}
    $limit = 5;
    for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y, H:m', strtotime($feed[$x]['date']));
    //echo '<p><strong><a " title="'.$title.'">'.$title.'</a></strong><br />';
    //echo '<small><em style="color:red; text-align:center;"> '.$date.'</em>    </small></p>';

//They should be only one echo to trigger success or failure actions in other to play the sound at ajax.

echo "success";
    }
?>

以上是关于当rss feed改变php时如何播放声音的主要内容,如果未能解决你的问题,请参考以下文章

如何链接在php mysql中创建的RSS feed

PHP 实例 - AJAX RSS 阅读器

从RSS Feed中删除图像将Feed添加到其他站点时的说明

播客RSS验证但不播放

当 php/mysql if 语句为真时播放声音剪辑?

当 clip.stop(); 时 AudioSystem 剪辑不会停止播放正在运行