gpt4 book ai didi

audio - 根据与Google表格上的Googlefinance公式相关的标准播放声音

转载 作者:行者123 更新时间:2023-12-02 23:46:56 26 4
gpt4 key购买 nike

我在Google表格中列出了一家公司,并使用Googlefinance公式(例如googlefinance(“LON:AAL”,“price”))来拉动其股票市场价格。该公式自动更新价格,而无需人工干预。

我正在尝试根据与公司当前价格相关的标准来设置一个脚本来播放声音。

例如:

单元格M2的公式为:googlefinance(“LON:AAL”,“price”),价格为1003

自动更新googlefinance公式后,价格更改为1050。
1050高于我设置的阈值1040。因此,当价格更新为1050时,Google表格会播放声音。

我想为此设置一列数据,这些数据全部由googlefinance公式更新。他们中的任何一个都符合阈值标准,我想听听声音。

重用代码
How can I play a sound as part of a triggered function

这是我的位置:

将播放器设置为边栏,并在打开工作表时将其打开

/**
* @OnlyCurrentDoc Limits the script to only accessing the current spreadsheet.
*/

var SIDEBAR_TITLE = 'Sidebar Musicbox';

/**
* Adds a custom menu with items to show the sidebar and dialog.
* @param {Object} e The event parameter for a simple onOpen trigger.
*/
function onOpen(e) {
SpreadsheetApp.getUi()
.createAddonMenu()
.addItem('Show sidebar', 'showSidebar')
.addToUi();
showSidebar();
}

/**
* Runs when the add-on is installed; calls onOpen() to ensure menu creation and
* any other initializion work is done immediately.
*
* @param {Object} e The event parameter for a simple onInstall trigger.
*/
function onInstall(e) {
onOpen(e);
}

/**
* Opens a sidebar. The sidebar structure is described in the Sidebar.html
* project file.
*/

function showSidebar() {
var ui = HtmlService.createTemplateFromFile('Sidebar')
.evaluate()
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle(SIDEBAR_TITLE);
SpreadsheetApp.getUi().showSidebar(ui);
}

每分钟检查一次范围值是否符合标准,如果是,则触发声音警报
(为此设置了每分钟触发器的时间,我不介意是否重复播放)

进一步阅读后,我认为此检查需要通过setInterval在SidebarJavascript
代码上进行 而不是在此处进行。
function checkrange() {
// Trigger set up for every minute
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('23.05.2015');
var value = ss.getRange("M2:M40").getValues();
for (var i = 0; i < 39; i++) {
if (value[i][0] < 0.005) {
playSidebar();
}
}
}

如果上述方法正确,则需要定义playSidebar()函数以告知边栏开始播放。

这是侧边栏播放器的HTML
<!-- Use a templated HTML printing scriptlet to import common stylesheet -->
<?!= HtmlService.createHtmlOutputFromFile('Stylesheet').getContent(); ?>

<div class="sidebar branding-below">
<p>
A little music for your enjoyment!
</p>
<audio id="player" controls >
<source src="http://soundbible.com/mp3/Fire_pager-jason-1283464858.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<div id="sidebar-status"></div>
</div>

<div class="sidebar bottom">
<span class="gray branding-text">Docs Add-on Sound Demo</span>
</div>

当满足范围条件时,会在边栏上播放声音。

通过playsidebar()函数或sidebarjavascript.html。

SidebarJavascript.html
// setInterval to check the range values every minute and play when the criteria is fulfilled. 
// No need for the checkrange() function above if the check needs to be done at sidebarjavascript.

您能帮我找到告诉侧边栏播放器开始播放的代码吗?

最佳答案

它不可能有效地做你想做的事。

正如您已经发现的那样,您只能从html应用程序播放声音,并且只有侧边栏能够在工作表中加载html应用程序。

但是,只有通过用户操作或首次打开工作表时才能打开侧栏。

您唯一的选择是始终保持侧边栏处于打开状态(从onOpen打开它),然后设置一个setInterval(例如,每20秒一次),以不断检查更改范围。您需要记住laSTL值,以防止声音持续发声。

如果您还想显示视觉效果,也可以使用spreadsheetApp.toast

关于audio - 根据与Google表格上的Googlefinance公式相关的标准播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com