Code:
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
namespace AudioDevices
{
public enum category
{
Ambient,
Blues,
Country,
Disco,
Electro,
Hardcore,
HardRock,
HeavyMetal,
Hiphop,
Jazz,
Jumpstyle,
Klassiek,
Latin,
Other,
Pop,
Punk,
Reggae,
Rock,
Soul,
Trance,
Techno,
Metal
};
/* struct time
{
private double m_seconds;
private int m_minutes;
private int m_hours;
public time(int hours, int minutes, double seconds)
{
m_hours = hours;
m_minutes = minutes;
m_seconds = seconds;
}
public double seconds
{
set
{
}
}
}*/
struct mp3
{
private int m_id;
private string m_name;
private string m_artist;
private string m_albumsource;
private category m_style;
private double m_lenght;
public mp3(int id, string name, string artist, string albumsource, category style, double lenght)
{
m_id = id;
m_name = name;
m_artist = artist;
m_albumsource = albumsource;
m_style = style;
m_lenght = lenght;
}
public int id
{
get
{
return m_id;
}
set
{
m_id = value;
}
}
public string name
{
get
{
return m_name;
}
set
{
m_name = value;
}
}
public string artist
{
get
{
return m_artist;
}
set
{
m_artist = value;
}
}
public string albumsource
{
get
{
return m_albumsource;
}
set
{
m_albumsource = value;
}
}
public category style
{
get
{
return m_style;
}
set
{
m_style = value;
}
}
public double lenght
{
get
{
return m_lenght;
}
set
{
m_lenght = value;
}
}
}
class track
{
static ArrayList mp3info = new ArrayList();
public static void information()
{
mp3 a1 = new mp3(1,"naame","test", "test", category.Metal,90);
mp3 a2 = new mp3(2, "naame", "test", "test", category.Rock, 160);
mp3info.Add(a1);
mp3info.Add(a2);
foreach (mp3 player in Getmp3info())
{
TimeSpan time = TimeSpan.FromSeconds(player.lenght);
Console.WriteLine(time.ToString());
}
Console.Read();
}
public static ArrayList Getmp3info()
{
return mp3info;
}
}
}
hallo,
ik wil een mp3 speler maken met c# en ik wil graag 1 ding weten.
mijn doel is om de lenght te veranderen naar een <hours>:<minutes>:<seconds> output.
met de code die ik liet zien is de output wel <hours>:<minutes>:<seconds> maar deze veranderd hij niet direct in de struct.
wat ik gelezen heb ergens:
Code:
Time type**
Om de lengte van een track op te slaan maak je gebruik van een structure Time. Maak deze structure met de volgende specificaties:
De structure moet drie integer variabelen bevatten: hours, minutes en seconds.
De structure moet de volgende drie constructors bevatten:
public Time(int seconds)
public Time(int minutes, int seconds)
public Time(int hours, int minutes, int seconds)
Zorg ervoor dat de constructor de juiste waarden toekent aan de interne variabelen.
Voorbeeld:
Time t = new Time(100)
Nu dient de structure t de volgende waarden te bevatten:
hours: 0
minutes: 1
seconds: 40
Override de ToString() method van de Time structure zodat deze een string terug geeft met de volgende format: <hours> : <minutes> : <seconds>.
De Track Class dient de volgende twee public methods te bevatten:
GetLength()
De method GetLength() geeft de lengte van de Track terug in de vorm van een Time structure.
GetLengthInSeconds()
De method GetLengthInSeconds() geeft de lengte van de Track in secondes terug in de vorm van een integer variabele. In deze method vindt dus een conversie plaats van de tijd, geregistreerd in de private field length van het type structure Time, naar een integer.
Properties:
name: length
type: time
get: no
set: yes
Lengte van de track als een int (secondes).
name: display length
type: string
get: yes
set: no
Lengte van de track als een string.
kan iemand me misschien helpen?
Laatst bewerkt: