pub trait AudioTrackListMethods<D>where
    D: DomTypes,{
    // Required methods
    fn Length(&self) -> u32;
    fn GetTrackById(
        &self,
        id: DOMString,
    ) -> Option<Root<Dom<<D as DomTypes>::AudioTrack>>>;
    fn GetOnchange(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
    fn SetOnchange(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
    fn GetOnaddtrack(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
    fn SetOnaddtrack(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
    fn GetOnremovetrack(&self) -> Option<Rc<EventHandlerNonNull<D>>>;
    fn SetOnremovetrack(&self, value: Option<Rc<EventHandlerNonNull<D>>>);
    fn IndexedGetter(
        &self,
        index: u32,
    ) -> Option<Root<Dom<<D as DomTypes>::AudioTrack>>>;
}