我觉得这有点复杂,但让我们开始吧!
输入:
- schedule_items:词典列表,每个词典都有这个key:title,duration_milliseconds,start_datetime。标题将是一个字符串,duration_milliseconds 将是每个音轨的持续时间(以毫秒为单位),start_datetime 将是一个 datetime.datetime,它将显示音轨将开始的具体时间。序列列表项将具有 start_datetime_i+1 = start_datetime_i+duration_milliseconds_i.
- time_collection:列出标准的两个项目。第一个是带有键的字典:collection_title、collection_case、append_duration_milliseconds。 collection_title 将是 time_collection 的标题,collection_case 将是 1 和 4 之间的数字(1 为案例:01:00|13:00,02:00|14:00,03:00 |15:00,...12:00|24:00(12 项)2 案例:01:00,02:00,...,12:00,13:00,...24: 00(24 项)3 案例:01:00|13:00,01:30|13:30,02:00|14:00,02:30|14:30,03:00|15:00 ,...12:00|24:00,12:30|24:30(24 项)和 4 案例:01:00,01:30,02:00,02:30,03:00, ...12:00,12:30,..24:00,24:30(48 项))。 append_duration_milliseconds 将是连接 time_collection 的音轨的持续时间。例如,如果电台制作人希望每次播放 Time 时都会先播放一段音轨,然后才会继续播放其余的音乐节目。
time_collection 列表的第二项将是一个列表,其中项目总数 = 所选 collection_case 的项目(案例=1 12 项,案例=2 24 项,案例=3 24 项,案例=4 48 项)。每个项目都是一个带有键的字典:title,duration_milliseconds,when_to_play。标题将是一个文本,例如:“时间是 1 点钟。” duration_milliseconds 将是表示时间的音轨的持续时间(例如一点钟 10*1000),when_to_play 将根据集合情况为字符串,例如“01:00|13:00”或“01:00”或“01:30|13:30”或“24:30”。
输出:
标题为schedule_items的列表:它将包含所有输入的schedule_items,根据开始日期时间输入的适当time_collection项目。如果 schedule_items 的 duration 和 start_datetime 大于 1 小时(或 30 分钟),则音轨将被裁剪成多个部分(可能超过两个)并且这些部分的标题可能会说明这是一个部分。例如,如果我将标题为“bla bla bla”的 schedule_item 裁剪为三部分,则裁剪后的项目将具有标题“bla bla bla part 1”、“bla bla bla part 2”、“bla bla bla part 3”。
我相信问题已经得到很好的解释,但如果您对问题的任何部分感到困惑,请随时发表评论。
- 我过去制作这个程序非常成功(但我已经失去了它),所以我很确定我们可以重新制作它(也许更好更快)。