●radiko pythonプログラムの改造
改造点:
コマンドライン パラメータに以下を追加
- ラジオ局ID一覧を表示するパラメータを追加
- 再生ソフトを ffplay, mpv, mplayerから指定できるパラメータを追加(defaultはmplayer)
- 実行形式は、
radiko.py [-l/--list or ラジオ局ID] [-p (mpv/ffplay)]
- パラメータの-hでコマンド ヘルプを表示する
import urllib.request
import os, sys, argparse, re
import base64
station_list = ('InterFM897: INT', 'TOKYOFM: FMT', 'J-WAVE: FMJ', 'bayfm78: BAYFM78',
'NACK5: NACK5', 'FMヨコハマ: YFM', 'NHK-FM: JPAK-FM',
'TBSラジオ: TBS', '文化放送: QRR', 'ニッポン放送: LFR', 'ラジオ日本: JORF',
'ラジオNIKKEI第一: RN1', 'ラジオNIKKEI第二: RN2', 'NHKラジオ第1: JOAK', 'NHKラジオ第2: JOAB')
p = argparse.ArgumentParser(description='radiko再生プログラム')
g = p.add_mutually_exclusive_group(required=True)
# '-l/--list'か'stationID'のどちらか1つの指定が必須
g.add_argument("-l", "--list" , help="station ID一覧表示" , action="store_true")
g.add_argument("stationID" , help="radiko station ID(ex.FMJ etc)" , nargs='?')
# オプション引数で再生用ソフト(mpv, ffplay)を指定できる.指定が無い時はmplayerで再生される
p.add_argument("-p", "--player" , help="Player soft(初期値:mplayer, mpv, ffplay)の指定" , default='mplayer', type=str)
# 引数を解析する
args = p.parse_args()
station = args.stationID
player = args.player
if args.list:
print('【station ID 一覧】')
for stationid in station_list: # station IDの一覧表示
print(' '+stationid)
sys.exit(0) # 表示したらプログラム終了
:
:
中略
:
:
if player == 'ffplay':
os.system( f"ffplay -nodisp -loglevel quiet -i '{m3u8}'")
elif player == 'mpv':
os.system( f"mpv --really-quiet --no-cache '{m3u8}'" )
else:
os.system( f"mplayer -novideo -really-quiet -nocache '{m3u8}'" )
:
以下略
: