use crate::parse::{EmbedRule, Platform}; use crate::Category; pub struct Audius; impl Platform for Audius { fn id(&self) -> &'static str { "audius" } fn name(&self) -> &'static str { "Audius" } fn category(&self) -> Category { Category::Music } fn domains(&self) -> &'static [&'static str] { &["audius.co"] } fn embed_rule(&self) -> Option { // `/[artist]/[track]` -> `/embed/[artist]/[track]`,实测返回播放器。 Some(EmbedRule::capture( r"^/([A-Za-z0-9_.-]+)/([A-Za-z0-9_.-]+)/?$", "https://audius.co/embed/{1}/{2}", crate::Aspect::Auto, )) } fn oembed(&self) -> Option<&'static str> { Some("https://audius.co/oembed?url={url_enc}&format=json") } } pub static PLATFORM: Audius = Audius;