到目前为止,我对此有许多相互矛盾的答案。
在this SO thread中,据说使用:
let player = MPMusicPlayerController.systemMusicPlayer()
if let mediaItem = player.nowPlayingItem {
// ...
}
但是,这仅适用于iOS播放器。例如,如果Spotify正在播放当前歌曲,mediaItem
将为nil
。
我了解Apple的政策不允许访问任何其他应用程序的数据。我现在唯一能做的就是在AVAudioPlayer
secondaryAudioShouldBeSilencedHint
isOtherAudioPlaying
和Spotify
的帮助下,知道是否有其他玩家播放的歌曲。
但是,我想知道是否有其他方法可以访问它,比如使用# -*- coding: utf-8 -*-
import csv, sys
from openerp import api, fields, models, _
class sale_order_export_line(models.Model):
_inherit = 'sale.order'
_auto = False
@api.multi
def export_lines_to_csv(self):
return {
'type' : 'ir.actions.act_url',
'url': '/csv/download/sale_order/%s/supplier_name/%s'%(self.id,'American'),
'target': 'blank',
}
@api.model
def _csv_download(self,vals):
order_id = vals.get('order_id')
supplier_name = vals.get('supplier_name')
so = self.env['sale.order'].browse(order_id)
lines = so.order_line.search([('order_id','=',order_id),('supplier_name','ilike',supplier_name)])
columns = [u'Número pedido Dentaltix',u'Nombre de cliente',u'Dirección', u'Código postal', u'Población',
u'Provincia', u'País', u'Teléfono', u'Horario de entrega', u'Referencia', u'Cantidad', u'Envío']
csv = u','.join(columns)
csv += "\n"
if len(lines) > 0:
for ol in lines:
drupal_order_name = so.drupal_order_name if so.drupal_order_name else ''
client_notes = so.client_notes if so.client_notes else ''
supplier_ref = ol.supplier_ref if ol.supplier_ref else ''
picking_policy = DELIVERY_METHODS[so.picking_policy] if so.picking_policy else 'Directo'
product_uos_qty = str(int(ol.product_uos_qty)) if ol.product_uos_qty else '0'
csv_row = u'","'.join(data)
csv += u"\"{}\"\n".format(csv_row)
return csv
sale_order_export_line()
框架? (我完全不熟悉它,这只是假设)。
感谢您的帮助。
答案 0 :(得分:0)
我不确定iOS,但可以通过AppleScript在Mac上从Spotify读取当前曲目。我使用Objective C中的这种技术。如果您有兴趣,我可以发布代码。
Spotify在此https://developer.spotify.com/applescript-api/
发布AppleScript API如果您正在寻找确定正在播放内容的通用方法,那么我认为您会感到失望。每个应用程序都有不同的方法来检索此信息。
答案 1 :(得分:0)
是的,不是。如果您只想检查Spotify是否正在播放,那么Spotify iOS SDK可能会提供此类功能。我真的不知道SDK的功能。
我冒昧地猜测你的实际目标是看看是否有任何第三方框架正在播放;潘多拉,潮汐,Apple音乐,亚马逊Prime音乐等。在这种情况下,您需要一个提供此类功能的框架。
为了安全起见,应用程序是相互沙箱化的,所以是的,除了你有框架并且它提供了这个功能之外,没有办法告诉当前的跟踪信息。