php - Use getID3 to read the audio file of wav self-recorded by ios, but the duration cannot be read?
伊谢尔伦
伊谢尔伦 2017-05-16 13:04:06
0
1
620

I can read the information from the wav file I downloaded from the Internet. The correct thing is this:
On the php side, I use getID3 to process the audio information!

array:15 [
  "GETID3_VERSION" => "1.9.14-201703261440"
  "filesize" => 18627884
  "filepath" => "C:/Windows"
  "filename" => "php20E6.tmp"
  "filenamepath" => "C:/Windows/php20E6.tmp"
  "avdataoffset" => 44
  "avdataend" => 18627884
  "fileformat" => "wav"
  "audio" => array:12 [
    "dataformat" => "wav"
    "bitrate_mode" => "cbr"
    "wformattag" => 1
    "streams" => array:1 [
      0 => array:10 [
        "codec" => "Pulse Code Modulation (PCM)"
        "channels" => 2
        "sample_rate" => 44100
        "bitrate" => 1411200
        "bits_per_sample" => 16
        "wformattag" => 1
        "bitrate_mode" => "cbr"
        "lossless" => true
        "dataformat" => "wav"
        "compression_ratio" => 1
      ]
    ]
    "codec" => "Pulse Code Modulation (PCM)"
    "channels" => 2
    "sample_rate" => 44100
    "bitrate" => 1411200
    "bits_per_sample" => 16
    "lossless" => true
    "channelmode" => "stereo"
    "compression_ratio" => 1
  ]
  "encoding" => "UTF-8"
  "mime_type" => "audio/x-wav"
  "riff" => array:5 [
    "raw" => array:1 [
      "fmt " => array:6 [
        "wFormatTag" => 1
        "nChannels" => 2
        "nSamplesPerSec" => 44100
        "nAvgBytesPerSec" => 176400
        "nBlockAlign" => 4
        "wBitsPerSample" => 16
      ]
    ]
    "audio" => array:1 [
      0 => array:5 [
        "codec" => "Pulse Code Modulation (PCM)"
        "channels" => 2
        "sample_rate" => 44100
        "bitrate" => 1411200
        "bits_per_sample" => 16
      ]
    ]
    "header_size" => 18627876
    "WAVE" => array:2 [
      "fmt " => array:1 [
        0 => array:3 [
          "offset" => 12
          "size" => 16
          "data" => b"\x01\x00\x02\x00D¬\x00\x00\x10±\x02\x00\x04\x00\x10\x00"
        ]
      ]
      "data" => array:1 [
        0 => array:2 [
          "offset" => 36
          "size" => 18627840
        ]
      ]
    ]
    "encoding" => "ISO-8859-1"
  ]
  "playtime_seconds" => 105.6
  "bitrate" => 1411200
  "playtime_string" => "1:46"
]

When reading audio self-recorded on iOS, the following problem occurred. I could not read the duration of the audio.

array:7 [
  "GETID3_VERSION" => "1.9.14-201703261440"
  "filesize" => 115223
  "filepath" => "C:/Windows"
  "filename" => "phpAA25.tmp"
  "filenamepath" => "C:/Windows/phpAA25.tmp"
  "encoding" => "UTF-8"
  "error" => array:1 [
    0 => "unable to determine file format"
  ]
]

Has anyone encountered this kind of problem? Please give me some guidance!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all(1)
黄舟

I don’t know much about iOS devices. If getID3 can’t solve this problem

It is recommended to use FFMPEG to read, provided that ffmpeg is installed on the server

$ffprobe = FFMpeg\FFProbe::create();
print_r ($ffprobe ->format('/path/to/wav')->all());
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template