Sería de gran ayuda si usted puede proporcionar un poco más de información acerca de su funcionalidad esperada. Suena como que tienes un Mac en tu casa, ¿se quedan todo el tiempo?
Un par de ideas vienen a la mente, pero, ¿cómo juntarlos, va a depender de lo que usted quiere que suceda.
Ubicación De Cheques
Si tienes tu iPhone con usted, y automáticamente se conecta a su red Wi-Fi, que es probablemente la mejor manera de comprobar si está en su casa.
En primer lugar, la nota de su iPhone dirección MAC Wi-Fi, el cual encontrarás en Ajustes → General → Acerca de → Dirección de Wi-Fi.
Usted puede utilizar el arp -a
comando en la Terminal (o una secuencia de comandos) para imprimir la Mac de la lista de direcciones de la red local, a continuación, utilice grep
para comprobar si tu iPhone dirección es:
arp -a | grep -i IPHONE_MAC_HERE
Que se va a imprimir la entrada ARP si uno coincide con tu iPhone y la dirección, y a no imprimir si no la hay.
Es importante tener en cuenta que esto sólo puede funcionar de forma fiable si tu iPhone está configurado para sincronizar a través de Wi-Fi con tu Mac. arp -a
sólo listas de direcciones que ha comunicado recientemente con - ella no sabe que su iPhone es menos que lo que habla a su Mac. Debido a que la sincronización Wi-Fi hace que el iPhone para enviar una identificación mensaje cuando se une a una red (a ver si alguno de los equipos con los que se sincroniza con en línea), que serán añadidos a tu Mac de la tabla ARP cuando llegas a casa, pero no puede si no tienes Wi-Fi sincronización de configurar.
De secuencias de comandos de Reproducción de iTunes
Si usted no usa algo como Controlplane (mencionado en kraymer la respuesta), AppleScript es la mejor manera para controlar la reproducción de iTunes.
Es bastante sencillo:
tell application "iTunes"
play playlist "Music"
end tell
Comenzará la reproducción de su biblioteca principal. El cambio de "Música" a cualquiera de tu lista de reproducción nombres, si usted tiene uno específico que desea reproducir. También puede agregar set shuffle of playlist "Music" to yes
sobre la línea antes de la play
línea si desea shuffle.
También puede iniciar la reproducción dentro de una secuencia de comandos de shell:
osascript -e 'tell application "iTunes" to play playlist "Music"'
Ejemplo De Secuencia De Comandos
#!/bin/bash
iPhoneMAC='78:a3:e4:4C:8f:a9' # From Settings > General > About > Wi-Fi Address
# Check if the iPhone is in the ARP table
arp -a | grep -i $iPhoneMAC > /dev/null # Silence output
# Repeat check every 30 seconds, if the iPhone address isn't detected
while [[ $? == 1 ]]; do
sleep 30
arp -a | grep -i $iPhoneMAC > /dev/null
done
# Once the iPhone is detected, play music
osascript -e 'tell application "iTunes" to play playlist "Music"'
Esta es una muy simplista versión, pero debe ser un buen punto de partida para hacer algo más cercano a lo que usted desea. Cuando se ejecuta la secuencia de comandos, se comprobará si el iPhone dirección (asegúrese de poner el adecuado en la secuencia de comandos) cada treinta segundos, hasta que se detecta, entonces va a jugar de iTunes.
Mejoras Sugeridas
- Es un asunto de una sola vez, una vez que se detecta el iPhone que reproduce la música y deja de comprobar. Usted querrá averiguar a qué lógica desea detrás de él (es decir, debe iniciarse una vez por día de la semana, por lo que juega cuando llegues a casa del trabajo, o quieres jugar cada vez que entra a la casa).
- Se ejecuta a través de OS X
launchd
funcionalidad (que permite varias programación y la repetición de secuencias de comandos) puede ser una buena idea. Hay un montón de recursos en esta alrededor, tanto en Pedir Diferentes y en otros lugares.
- Si lo haces de esta manera, usted no necesita la funcionalidad de bucle,
launchd
podría ser responsable de la ejecución en un intervalo de verificación.
- Algún tipo de mecanismo para evitar la innecesaria la comprobación una vez que hayas hecho venir a casa y la música ha jugado. Podría ser sólo un sueño largo una vez que se reproduce la música, o algo un poco más inteligente, base sobre la que se desea comprobar.