How to draw the outline of an icon made of several polygons?

With Mathematica 12 a possible approach is OuterPolygon:

pol = Polygon[{{{0, -1}, {1, 1}, {-1, 1}}, {{-1, -1}, {1, -1}, {1, 
     0}, {-1, 0}}}]
Graphics[{FaceForm[], EdgeForm[{Thick, Blue}], pol}]

enter image description here

Graphics[{FaceForm[], EdgeForm[{Thick, Blue}], OuterPolygon[pol]}]  

enter image description here


You can use BoundaryDiscretizeGraphics:

bdg = BoundaryDiscretizeGraphics @ speakerIcon

enter image description here

Graphics[{EdgeForm[{Black, Thin}], FaceForm[], MeshPrimitives[bdg, 2]}, ImageSize -> 30]

enter image description here

Alternatively, you can use BoundaryDiscretizeRegion + RegionUnion:

bdr = BoundaryDiscretizeRegion[
  RegionUnion[Triangle[{{0, -1}, {1, 1}, {-1, 1}}], Rectangle[{-1, -1}, {1, 0}]]]

enter image description here