Files
naowalk/naovolume.py
2026-07-15 13:55:14 -04:00

40 lines
984 B
Python

#!/usr/bin/env python3
import argparse
import sys
import qi
def main():
parser = argparse.ArgumentParser(description="Get or set a NAO robot's volume.")
parser.add_argument("--ip", required=True, help="NAO IP address")
parser.add_argument("--port", type=int, default=9559, help="NAOqi port (default: 9559)")
parser.add_argument(
"--set",
type=int,
metavar="VOLUME",
help="Set volume (0-100)"
)
args = parser.parse_args()
try:
session = qi.Session()
session.connect(f"tcp://{args.ip}:{args.port}")
except RuntimeError as e:
print(f"Failed to connect: {e}", file=sys.stderr)
sys.exit(1)
audio = session.service("ALAudioDevice")
if args.set is not None:
volume = max(0, min(100, args.set))
audio.setOutputVolume(volume)
print(f"Volume set to {volume}%")
print(f"Current volume: {audio.getOutputVolume()}%")
if __name__ == "__main__":
main()